From 5584757ff4f5667503ecf23d344b0a151f0da6d2 Mon Sep 17 00:00:00 2001 From: yanweidong Date: Sat, 4 Oct 2025 17:42:26 +0800 Subject: [PATCH] fix logger bug --- conf/new.go | 16 ++++++++++++++++ conf/types.go | 27 +++++++++------------------ logger/logger.go | 25 +++++++++++++------------ vars/logger.go | 12 ++++++++++++ 4 files changed, 50 insertions(+), 30 deletions(-) create mode 100644 vars/logger.go diff --git a/conf/new.go b/conf/new.go index 99dd4dc..64fb3bd 100644 --- a/conf/new.go +++ b/conf/new.go @@ -104,3 +104,19 @@ func CheckIP(ip string) string { } return ip } + +// 初始化Logger配置 +func InitLoggerConf(cfg *LogConf) *LogConf { + if cfg == nil { + return &LogConf{ + Name: strings.ToLower(vars.ServiceKey), + Level: vars.LogLevel(vars.DEBUG), + Dir: cfg.Dir, + Endpoint: cfg.Endpoint, + Console: cfg.Console, + File: cfg.File, + Remote: cfg.Remote, + } + } + return cfg +} diff --git a/conf/types.go b/conf/types.go index 4cc8e40..999343e 100644 --- a/conf/types.go +++ b/conf/types.go @@ -1,5 +1,7 @@ package conf +import "git.apinb.com/bsm-sdk/core/vars" + type Base struct { Service string `yaml:"Service"` // 服务名称 Port string `yaml:"Port"` // 服务监听端口,0为自动随机端口 @@ -82,23 +84,12 @@ type WebSocketConf struct { HandshakeTimeout string `yaml:"HandshakeTimeout"` } -// LogLevel 日志级别 -type LogLevel int - -const ( - DEBUG LogLevel = iota - INFO - WARN - ERROR - FATAL -) - type LogConf struct { - Name string `yaml:"Name"` - Level LogLevel `yaml:"Level"` - Dir string `yaml:"Dir"` - Endpoint string `yaml:"Endpoint"` - Console bool `yaml:"Console"` - File bool `yaml:"File"` - Remote bool `yaml:"Remote"` + Name string `yaml:"Name"` + Level vars.LogLevel `yaml:"Level"` + Dir string `yaml:"Dir"` + Endpoint string `yaml:"Endpoint"` + Console bool `yaml:"Console"` + File bool `yaml:"File"` + Remote bool `yaml:"Remote"` } diff --git a/logger/logger.go b/logger/logger.go index c953373..7902deb 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -13,11 +13,12 @@ import ( "git.apinb.com/bsm-sdk/core/conf" "git.apinb.com/bsm-sdk/core/utils" + "git.apinb.com/bsm-sdk/core/vars" ) // Logger 日志器结构 type Logger struct { - level conf.LogLevel + level vars.LogLevel infoLogger *log.Logger warnLogger *log.Logger errorLogger *log.Logger @@ -69,7 +70,7 @@ func NewLogger(cfg *conf.LogConf) (*Logger, error) { multiWriter := io.MultiWriter(consoleWriter, fileWriter) logger := &Logger{ - level: conf.LogLevel(cfg.Level), + level: vars.LogLevel(cfg.Level), fileWriter: fileWriter, consoleWriter: consoleWriter, logDir: cfg.Dir, @@ -152,7 +153,7 @@ func (l *Logger) sendToRemote(level, name, out string) { // Debug 输出调试信息 func (l *Logger) Debug(v ...interface{}) { - if l.level <= conf.DEBUG { + if l.level <= vars.DEBUG { l.checkAndRotateLog() out := fmt.Sprint(v...) if l.onRemote { @@ -164,7 +165,7 @@ func (l *Logger) Debug(v ...interface{}) { // Debugf 格式化输出调试信息 func (l *Logger) Debugf(format string, v ...interface{}) { - if l.level <= conf.DEBUG { + if l.level <= vars.DEBUG { l.checkAndRotateLog() out := fmt.Sprintf(format, v...) if l.onRemote { @@ -176,7 +177,7 @@ func (l *Logger) Debugf(format string, v ...interface{}) { // Info 输出信息 func (l *Logger) Info(v ...interface{}) { - if l.level <= conf.INFO { + if l.level <= vars.INFO { l.checkAndRotateLog() out := fmt.Sprint(v...) if l.onRemote { @@ -188,7 +189,7 @@ func (l *Logger) Info(v ...interface{}) { // Infof 格式化输出信息 func (l *Logger) Infof(format string, v ...interface{}) { - if l.level <= conf.INFO { + if l.level <= vars.INFO { l.checkAndRotateLog() out := fmt.Sprintf(format, v...) if l.onRemote { @@ -200,7 +201,7 @@ func (l *Logger) Infof(format string, v ...interface{}) { // Warn 输出警告 func (l *Logger) Warn(v ...interface{}) { - if l.level <= conf.WARN { + if l.level <= vars.WARN { l.checkAndRotateLog() out := fmt.Sprint(v...) if l.onRemote { @@ -212,7 +213,7 @@ func (l *Logger) Warn(v ...interface{}) { // Warnf 格式化输出警告 func (l *Logger) Warnf(format string, v ...interface{}) { - if l.level <= conf.WARN { + if l.level <= vars.WARN { l.checkAndRotateLog() out := fmt.Sprintf(format, v...) if l.onRemote { @@ -224,7 +225,7 @@ func (l *Logger) Warnf(format string, v ...interface{}) { // Error 输出错误 func (l *Logger) Error(v ...interface{}) { - if l.level <= conf.ERROR { + if l.level <= vars.ERROR { l.checkAndRotateLog() out := fmt.Sprint(v...) if l.onRemote { @@ -236,7 +237,7 @@ func (l *Logger) Error(v ...interface{}) { // Errorf 格式化输出错误 func (l *Logger) Errorf(format string, v ...interface{}) { - if l.level <= conf.ERROR { + if l.level <= vars.ERROR { l.checkAndRotateLog() out := fmt.Sprintf(format, v...) if l.onRemote { @@ -284,14 +285,14 @@ func (l *Logger) Println(v ...interface{}) { } // SetLevel 设置日志级别 -func (l *Logger) SetLevel(level conf.LogLevel) { +func (l *Logger) SetLevel(level vars.LogLevel) { l.mu.Lock() defer l.mu.Unlock() l.level = level } // GetLevel 获取日志级别 -func (l *Logger) GetLevel() conf.LogLevel { +func (l *Logger) GetLevel() vars.LogLevel { l.mu.RLock() defer l.mu.RUnlock() return l.level diff --git a/vars/logger.go b/vars/logger.go new file mode 100644 index 0000000..268e1db --- /dev/null +++ b/vars/logger.go @@ -0,0 +1,12 @@ +package vars + +// LogLevel 日志级别 +type LogLevel int + +const ( + DEBUG LogLevel = iota + INFO + WARN + ERROR + FATAL +)