瀏覽代碼

feat(deploy): 优化日志文件创建和配置过程

- 添加创建日志目录和文件的步骤
- 生成并更新日志配置文件
- 调整容器挂载路径
- 优化日志日期格式处理
fusu 3 月之前
父節點
當前提交
ec81cbf3bd
共有 2 個文件被更改,包括 39 次插入4 次删除
  1. 35 4
      deploy/deploy.sh
  2. 4 0
      pkg/log/log.go

+ 35 - 4
deploy/deploy.sh

@@ -38,12 +38,43 @@ mkdir -p /www/wwwroot/nunu/storage/logs
 
 # 创建按天分割的日志目录结构
 current_date=$(date +"%Y-%m-%d")
+
+echo "当前日期: ${current_date}"
+echo "创建日志文件..."
+
+# 确保目录存在
+mkdir -p "/www/wwwroot/nunu/storage/logs"
+
+# 创建日志文件并设置权限
 touch "/www/wwwroot/nunu/storage/logs/api-${current_date}.log"
 touch "/www/wwwroot/nunu/storage/logs/task-${current_date}.log"
+touch "/www/wwwroot/nunu/storage/logs/server.log"
 
 # 设置权限
 chmod -R 777 /www/wwwroot/nunu/storage
 
+# 输出目录和文件状态以便调试
+echo "日志目录内容和权限:"
+ls -la /www/wwwroot/nunu/storage/logs/
+
+# 确保配置文件包含正确的日志配置
+echo "创建/更新日志配置..."
+cat > "/www/wwwroot/nunu/config/log_config.yml" << EOL
+log:
+  log_level: info
+  encoding: json
+  log_format: "2006-01-02"
+  api_log_file: "./storage/logs/api-%s.log"
+  task_log_file: "./storage/logs/task-%s.log"
+  log_file_name: "./storage/logs/server.log"
+  max_backups: 30
+  max_age: 30
+  max_size: 200
+  compress: true
+EOL
+
+echo "配置文件已创建,确保它被正确加载"
+
 # 创建Docker卷(用于缓存Go构建)
 if ! docker volume inspect go-mod-cache > /dev/null 2>&1; then
   echo "创建Go模块缓存卷..."
@@ -68,8 +99,8 @@ if [ "$BUILD_API" = true ]; then
       -e TZ=Asia/Shanghai \
       -e SERVICE_TYPE=api \
       -p 8000:8000 \
-      -v /www/wwwroot/nunu/storage:/data/app/storage \
-      -v /www/wwwroot/nunu/config:/data/app/config \
+      -v /www/wwwroot/nunu/storage:/app/storage \
+      -v /www/wwwroot/nunu/config:/app/config \
       -v go-mod-cache:/go/pkg/mod \
       nunu-api:v1
   else
@@ -94,8 +125,8 @@ if [ "$BUILD_TASK" = true ]; then
     docker run -d --restart=always --name nunu-task \
       -e TZ=Asia/Shanghai \
       -e SERVICE_TYPE=task \
-      -v /www/wwwroot/nunu/storage:/data/app/storage \
-      -v /www/wwwroot/nunu/config:/data/app/config \
+      -v /www/wwwroot/nunu/storage:/app/storage \
+      -v /www/wwwroot/nunu/config:/app/config \
       -v go-mod-cache:/go/pkg/mod \
       nunu-task:v1
   else

+ 4 - 0
pkg/log/log.go

@@ -38,6 +38,10 @@ func NewServiceLog(conf *viper.Viper, serviceType ServiceType) *Logger {
 
 	// 根据服务类型和日期生成日志文件名
 	logFormat := conf.GetString("log.log_format") // 日期格式,如"2006-01-02"
+	// 确保有默认的日期格式
+	if logFormat == "" {
+		logFormat = "2006-01-02"
+	}
 	currentDate := time.Now().Format(logFormat)
 
 	if serviceType == API && conf.IsSet("log.api_log_file") {