Browse Source

feat(脚本): 改进日志文件存储结构,自动创建日志目录

修改重启脚本以将日志文件存储在按JAR包名称组织的子目录中,并自动创建所需目录结构。同时更新相关文档以反映此变更。
master
前端-胡立永 1 month ago
parent
commit
1384374d94
2 changed files with 24 additions and 7 deletions
  1. +8
    -6
      README-restart-script.md
  2. +16
    -1
      restart-java-app.sh

+ 8
- 6
README-restart-script.md View File

@ -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
```

+ 16
- 1
restart-java-app.sh View File

@ -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
}
# 等待进程停止


Loading…
Cancel
Save