From fd321621267fbd50168baad1978f03d925381553 Mon Sep 17 00:00:00 2001 From: mlogclub Date: Thu, 18 Jan 2024 09:50:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/bbs-go.docker.yaml | 8 +++++++- server/bbs-go.example.yaml | 9 ++++++++- server/internal/pkg/config/config.go | 9 ++++++++- server/internal/server/init_logger.go | 15 ++++++++------- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/server/bbs-go.docker.yaml b/server/bbs-go.docker.yaml index 8569b565c..5d85b071e 100644 --- a/server/bbs-go.docker.yaml +++ b/server/bbs-go.docker.yaml @@ -1,12 +1,18 @@ Env: dev # 环境,线上环境:prod、测试环境:dev BaseUrl: http://127.0.0.1:3000 # 网站域名 Port: 8082 # 端口 -LogFile: /data/logs/bbs-go.log # 日志文件 StaticPath: /data/www # 根路径下的静态文件目录,可配置绝对路径 IpDataPath: # IP数据文件,默认读取当前目录下ip2region.xdb文件,最新数据文件请从这里下载:https://github.com/lionsoul2014/ip2region/tree/master/data AllowedOrigins: - "*" +# 日志配置 +Logger: + Filename: /data/logs/bbs-go.log # 日志文件的位置 + MaxSize: 100 # 文件最大尺寸(以MB为单位) + MaxAge: 10 # 保留旧文件的最大天数 + MaxBackups: 10 # 保留的最大旧文件数量 + # 数据库连接 DB: Url: root:123456@tcp(bbs-go-mysql:3306)/bbsgo_db?charset=utf8mb4&parseTime=True&loc=Local diff --git a/server/bbs-go.example.yaml b/server/bbs-go.example.yaml index 5d69f0866..7d718165c 100644 --- a/server/bbs-go.example.yaml +++ b/server/bbs-go.example.yaml @@ -1,12 +1,19 @@ Env: prod # 环境,线上环境:prod、测试环境:dev BaseUrl: https://mlog.club # 网站域名 Port: 8082 # 端口 -LogFile: /data/logs/bbs-go.log # 日志文件 StaticPath: /data/www # 根路径下的静态文件目录,可配置绝对路径 IpDataPath: # IP数据文件,默认读取当前目录下ip2region.xdb文件,最新数据文件请从这里下载:https://github.com/lionsoul2014/ip2region/tree/master/data AllowedOrigins: - "*" +# 日志配置 +Logger: + Filename: /data/logs/bbs-go.log # 日志文件的位置 + MaxSize: 100 # 文件最大尺寸(以MB为单位) + MaxAge: 10 # 保留旧文件的最大天数 + MaxBackups: 10 # 保留的最大旧文件数量 + + # 数据库连接 DB: Url: username:password@tcp(localhost:3306)/bbsgo_db?charset=utf8mb4&parseTime=True&loc=Local diff --git a/server/internal/pkg/config/config.go b/server/internal/pkg/config/config.go index fb446b499..96d4e6e4d 100644 --- a/server/internal/pkg/config/config.go +++ b/server/internal/pkg/config/config.go @@ -10,10 +10,17 @@ type Config struct { Env string // 环境:prod、dev BaseUrl string // base url Port string // 端口 - LogFile string // 日志文件 StaticPath string // 静态文件目录 IpDataPath string // IP数据文件 + // 日志配置 + Logger struct { + Filename string // 日志文件的位置 + MaxSize int // 文件最大尺寸(以MB为单位) + MaxAge int // 保留旧文件的最大天数 + MaxBackups int // 保留的最大旧文件数量 + } + // 数据库配置 DB sqls.DbConfig diff --git a/server/internal/server/init_logger.go b/server/internal/server/init_logger.go index c81e417cc..e67acaffe 100644 --- a/server/internal/server/init_logger.go +++ b/server/internal/server/init_logger.go @@ -16,17 +16,18 @@ import ( ) func initLogger() { + conf := config.Instance.Logger var writer io.Writer = os.Stdout - if strs.IsNotBlank(config.Instance.LogFile) { + if strs.IsNotBlank(conf.Filename) { writer = io.MultiWriter( os.Stdout, &lumberjack.Logger{ - Filename: config.Instance.LogFile, // 日志文件的位置 - MaxSize: 100, // 文件最大尺寸(以MB为单位) - MaxBackups: 10, // 保留的最大旧文件数量 - MaxAge: 28, // 保留旧文件的最大天数 - Compress: true, // 是否压缩/归档旧文件 - LocalTime: true, // 使用本地时间创建时间戳 + Filename: conf.Filename, // 日志文件的位置 + MaxSize: conf.MaxSize, // 文件最大尺寸(以MB为单位) + MaxAge: conf.MaxAge, // 保留旧文件的最大天数 + MaxBackups: conf.MaxBackups, // 保留的最大旧文件数量 + LocalTime: true, // 使用本地时间创建时间戳 + Compress: true, // 是否压缩/归档旧文件 }, ) }