update 23
This commit is contained in:
12
.idea/dataSources.xml
generated
Normal file
12
.idea/dataSources.xml
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||||
|
<data-source source="LOCAL" name="loghunter" uuid="431b313c-b303-45ce-85bb-58c2bc8cb968">
|
||||||
|
<driver-ref>sqlite.xerial</driver-ref>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
|
||||||
|
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/data/loghunter.db</jdbc-url>
|
||||||
|
<working-dir>$ProjectFileDir$</working-dir>
|
||||||
|
</data-source>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/data_source_mapping.xml
generated
Normal file
6
.idea/data_source_mapping.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DataSourcePerFileMappings">
|
||||||
|
<file url="file://$APPLICATION_CONFIG_DIR$/consoles/db/431b313c-b303-45ce-85bb-58c2bc8cb968/console.sql" value="431b313c-b303-45ce-85bb-58c2bc8cb968" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
5
.idea/log-hunter.iml
generated
5
.idea/log-hunter.iml
generated
@@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module type="JAVA_MODULE" version="4">
|
<module type="WEB_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
<component name="NewModuleRootManager">
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$" />
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
|||||||
2
.idea/modules.xml
generated
2
.idea/modules.xml
generated
@@ -2,7 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules/log-hunter.main.iml" filepath="$PROJECT_DIR$/.idea/modules/log-hunter.main.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/log-hunter.iml" filepath="$PROJECT_DIR$/.idea/log-hunter.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
61
src/main/java/research/loghunter/config/DatabaseConfig.java
Normal file
61
src/main/java/research/loghunter/config/DatabaseConfig.java
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
package research.loghunter.config;
|
||||||
|
|
||||||
|
import jakarta.annotation.PostConstruct;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 데이터베이스 및 앱 디렉토리 초기화 설정
|
||||||
|
*
|
||||||
|
* 앱 실행 시 필요한 디렉토리를 자동으로 생성합니다.
|
||||||
|
* - ~/.loghunter/data/ : SQLite DB 파일
|
||||||
|
* - ~/.loghunter/exports/ : 내보내기 파일
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Configuration
|
||||||
|
public class DatabaseConfig {
|
||||||
|
|
||||||
|
@Value("${app.base-path}")
|
||||||
|
private String basePath;
|
||||||
|
|
||||||
|
@Value("${app.export.path}")
|
||||||
|
private String exportPath;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
public void init() {
|
||||||
|
try {
|
||||||
|
// 기본 디렉토리 생성
|
||||||
|
Path baseDir = Paths.get(basePath);
|
||||||
|
createDirectoryIfNotExists(baseDir);
|
||||||
|
|
||||||
|
// 데이터 디렉토리 생성
|
||||||
|
Path dataDir = baseDir.resolve("data");
|
||||||
|
createDirectoryIfNotExists(dataDir);
|
||||||
|
|
||||||
|
// 내보내기 디렉토리 생성
|
||||||
|
Path exportsDir = Paths.get(exportPath);
|
||||||
|
createDirectoryIfNotExists(exportsDir);
|
||||||
|
|
||||||
|
log.info("LogHunter 디렉토리 초기화 완료: {}", basePath);
|
||||||
|
log.info(" - 데이터: {}", dataDir);
|
||||||
|
log.info(" - 내보내기: {}", exportsDir);
|
||||||
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("디렉토리 생성 실패: {}", e.getMessage());
|
||||||
|
throw new RuntimeException("LogHunter 디렉토리 초기화 실패", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createDirectoryIfNotExists(Path dir) throws IOException {
|
||||||
|
if (!Files.exists(dir)) {
|
||||||
|
Files.createDirectories(dir);
|
||||||
|
log.info("디렉토리 생성: {}", dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ spring:
|
|||||||
name: log-hunter
|
name: log-hunter
|
||||||
|
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:sqlite:./data/loghunter.db
|
url: jdbc:sqlite:${user.home}/.loghunter/data/loghunter.db
|
||||||
driver-class-name: org.sqlite.JDBC
|
driver-class-name: org.sqlite.JDBC
|
||||||
|
|
||||||
jpa:
|
jpa:
|
||||||
@@ -28,7 +28,8 @@ spring:
|
|||||||
|
|
||||||
# 앱 설정
|
# 앱 설정
|
||||||
app:
|
app:
|
||||||
|
base-path: ${user.home}/.loghunter
|
||||||
crypto:
|
crypto:
|
||||||
key: ${LOGHUNTER_CRYPTO_KEY:LogHunterDefaultKey32Bytes!!}
|
key: ${LOGHUNTER_CRYPTO_KEY:LogHunterDefaultKey32Bytes!!}
|
||||||
export:
|
export:
|
||||||
path: ./exports
|
path: ${user.home}/.loghunter/exports
|
||||||
|
|||||||
24
start.sh
Executable file → Normal file
24
start.sh
Executable file → Normal file
@@ -6,25 +6,40 @@ cd "$(dirname "$0")"
|
|||||||
export JAVA_HOME="/Users/coziny/Library/Java/JavaVirtualMachines/temurin-21.0.9/Contents/Home"
|
export JAVA_HOME="/Users/coziny/Library/Java/JavaVirtualMachines/temurin-21.0.9/Contents/Home"
|
||||||
export PATH="$JAVA_HOME/bin:$PATH"
|
export PATH="$JAVA_HOME/bin:$PATH"
|
||||||
|
|
||||||
|
# 앱 데이터 경로
|
||||||
|
LOGHUNTER_HOME="$HOME/.loghunter"
|
||||||
|
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
echo " LogHunter 시작"
|
echo " LogHunter 시작"
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
echo " Java: $(java -version 2>&1 | head -1)"
|
echo " Java: $(java -version 2>&1 | head -1)"
|
||||||
|
echo " Data: $LOGHUNTER_HOME"
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
|
|
||||||
# 포트 정리
|
# 포트 정리
|
||||||
echo "[1/4] 8080 포트 정리..."
|
echo "[1/5] 8080 포트 정리..."
|
||||||
lsof -ti:8080 | xargs kill -9 2>/dev/null
|
lsof -ti:8080 | xargs kill -9 2>/dev/null
|
||||||
|
|
||||||
|
# 기존 DB 마이그레이션 (최초 1회)
|
||||||
|
echo "[2/5] 데이터 디렉토리 확인..."
|
||||||
|
if [ -f "./data/loghunter.db" ] && [ ! -f "$LOGHUNTER_HOME/data/loghunter.db" ]; then
|
||||||
|
echo " → 기존 DB 파일 발견, 새 위치로 마이그레이션..."
|
||||||
|
mkdir -p "$LOGHUNTER_HOME/data"
|
||||||
|
cp "./data/loghunter.db" "$LOGHUNTER_HOME/data/loghunter.db"
|
||||||
|
echo " ✓ 마이그레이션 완료: $LOGHUNTER_HOME/data/loghunter.db"
|
||||||
|
else
|
||||||
|
echo " ✓ 데이터 경로 준비됨"
|
||||||
|
fi
|
||||||
|
|
||||||
# 프론트엔드 빌드
|
# 프론트엔드 빌드
|
||||||
echo "[2/4] 프론트엔드 빌드..."
|
echo "[3/5] 프론트엔드 빌드..."
|
||||||
cd frontend
|
cd frontend
|
||||||
npm install --include=dev
|
npm install --include=dev
|
||||||
npm run build
|
npm run build
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# static 폴더 확인
|
# static 폴더 확인
|
||||||
echo "[3/4] 빌드 결과 확인..."
|
echo "[4/5] 빌드 결과 확인..."
|
||||||
if [ -f "src/main/resources/static/index.html" ]; then
|
if [ -f "src/main/resources/static/index.html" ]; then
|
||||||
echo " ✓ index.html 확인됨"
|
echo " ✓ index.html 확인됨"
|
||||||
else
|
else
|
||||||
@@ -33,10 +48,11 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# 서버 실행
|
# 서버 실행
|
||||||
echo "[4/4] 서버 실행..."
|
echo "[5/5] 서버 실행..."
|
||||||
echo ""
|
echo ""
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
echo " http://localhost:8080"
|
echo " http://localhost:8080"
|
||||||
|
echo " DB: $LOGHUNTER_HOME/data/loghunter.db"
|
||||||
echo " 종료: Ctrl+C"
|
echo " 종료: Ctrl+C"
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user