You've already forked VptPassiveAdapter
日志
This commit is contained in:
+18
-4
@@ -8,6 +8,9 @@ import (
|
||||
|
||||
var Logger *zap.Logger
|
||||
|
||||
// atomicLevel 持有当前生效的日志级别,支持在配置加载完成后动态调整(无需重建 Logger)
|
||||
var atomicLevel = zap.NewAtomicLevelAt(zap.InfoLevel)
|
||||
|
||||
func Init() error {
|
||||
config := zap.NewProductionConfig()
|
||||
config.OutputPaths = []string{"stdout"}
|
||||
@@ -25,9 +28,6 @@ func Init() error {
|
||||
// 创建写入器
|
||||
w := zapcore.AddSync(lumberJackLogger)
|
||||
|
||||
// 设置日志级别
|
||||
level := zap.NewAtomicLevelAt(zap.InfoLevel)
|
||||
|
||||
// 创建编码器配置
|
||||
encoderConfig := zap.NewProductionEncoderConfig()
|
||||
encoderConfig.TimeKey = "time"
|
||||
@@ -41,7 +41,7 @@ func Init() error {
|
||||
encoder := zapcore.NewConsoleEncoder(encoderConfig)
|
||||
|
||||
// 创建核心
|
||||
core := zapcore.NewCore(encoder, w, level)
|
||||
core := zapcore.NewCore(encoder, w, atomicLevel)
|
||||
|
||||
// 创建日志记录器
|
||||
Logger = zap.New(core, zap.AddCaller(), zap.AddStacktrace(zapcore.ErrorLevel))
|
||||
@@ -49,6 +49,20 @@ func Init() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetLevel 动态调整日志级别,可在配置文件加载完成后调用(例如开启 debug 日志排查问题)。
|
||||
// levelStr 支持 debug/info/warn/error 等,为空或非法值时保持当前级别不变并返回错误。
|
||||
func SetLevel(levelStr string) error {
|
||||
if levelStr == "" {
|
||||
return nil
|
||||
}
|
||||
var level zapcore.Level
|
||||
if err := level.UnmarshalText([]byte(levelStr)); err != nil {
|
||||
return err
|
||||
}
|
||||
atomicLevel.SetLevel(level)
|
||||
return nil
|
||||
}
|
||||
|
||||
func Info(message string, fields ...zap.Field) {
|
||||
Logger.Info(message, fields...)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user