diff --git a/README-restart-script.md b/README-restart-script.md index 8db6a8d..ffc262e 100644 --- a/README-restart-script.md +++ b/README-restart-script.md @@ -117,17 +117,19 @@ chmod +x restart-java-app.sh 脚本运行时会创建以下文件: -- **日志文件**: 自动生成,格式为 `{JAR包名}_{启动时间}.log`,例如:`my-app_20240115_143025.log` +- **日志文件**: 自动生成,存储在 `log/{JAR包名}/` 目录下,格式为 `{JAR包名}_{启动时间}.log` - **PID文件**: `app.pid` - 应用进程PID文件 ### 日志文件命名规则 -- **自动生成模式**(推荐):当 `LOG_FILE=""` 时,系统会自动生成日志文件名 -- **格式**: `{JAR包名称}_{年月日_时分秒}.log` +- **自动生成模式**(推荐):当 `LOG_FILE=""` 时,系统会自动生成日志文件名和路径 +- **目录结构**: `log/{JAR包名称}/` +- **文件格式**: `{JAR包名称}_{年月日_时分秒}.log` - **示例**: - JAR包:`my-spring-boot-app.jar` - 启动时间:2024年1月15日 14:30:25 - - 日志文件:`my-spring-boot-app_20240115_143025.log` + - 日志文件路径:`log/my-spring-boot-app/my-spring-boot-app_20240115_143025.log` +- **目录自动创建**:脚本会自动创建 `log/{JAR包名}/` 目录结构 - **手动指定**:如果在脚本中设置了 `LOG_FILE="custom.log"`,则使用指定的文件名 ## 常见问题 @@ -258,7 +260,7 @@ JAR_NAME="my-app.jar" 正在启动应用... JAR包: my-api-service.jar JVM参数: -Xms512m -Xmx1024m -日志文件: my-api-service_20240115_143025.log +日志文件: log/my-api-service/my-api-service_20240115_143025.log ✓ 应用启动成功 (PID: 12345) -日志文件: my-api-service_20240115_143025.log +日志文件: log/my-api-service/my-api-service_20240115_143025.log ``` \ No newline at end of file diff --git a/restart-java-app.sh b/restart-java-app.sh index 011aabb..ce74c9c 100644 --- a/restart-java-app.sh +++ b/restart-java-app.sh @@ -228,7 +228,22 @@ setup_jar_variables() { # 设置日志文件名(添加时间戳) local jar_basename=$(basename "$jar_name" .jar) local timestamp=$(date +"%Y%m%d_%H%M%S") - LOG_FILE="${jar_basename}_${timestamp}.log" + + # 创建日志目录结构:log/jar包名称/ + local log_dir="log/${jar_basename}" + + # 确保日志目录存在 + if [ ! -d "$log_dir" ]; then + mkdir -p "$log_dir" 2>/dev/null + if [ $? -ne 0 ]; then + print_warning "无法创建日志目录 $log_dir,使用当前目录" + LOG_FILE="${jar_basename}_${timestamp}.log" + else + LOG_FILE="${log_dir}/${jar_basename}_${timestamp}.log" + fi + else + LOG_FILE="${log_dir}/${jar_basename}_${timestamp}.log" + fi } # 等待进程停止