From 1384374d94a6dd6c92c16ff15957413978c9ba6c Mon Sep 17 00:00:00 2001 From: huliyong <2783385703@qq.com> Date: Sat, 27 Sep 2025 11:33:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=84=9A=E6=9C=AC):=20=E6=94=B9=E8=BF=9B?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E5=AD=98=E5=82=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=84=EF=BC=8C=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改重启脚本以将日志文件存储在按JAR包名称组织的子目录中,并自动创建所需目录结构。同时更新相关文档以反映此变更。 --- README-restart-script.md | 14 ++++++++------ restart-java-app.sh | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 7 deletions(-) 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 } # 等待进程停止