18 lines
675 B
Go
18 lines
675 B
Go
package logger
|
|
|
|
import (
|
|
"go.uber.org/zap"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
// NewRetentionLogger 创建仅供 Worker 日留存使用的独立轮转日志。
|
|
func NewRetentionLogger(level string, config LogRotationConfig) (*zap.Logger, func() error) {
|
|
encoder := zapcore.NewJSONEncoder(zapcore.EncoderConfig{
|
|
TimeKey: "time", LevelKey: "level", MessageKey: "msg", CallerKey: "caller",
|
|
EncodeTime: zapcore.ISO8601TimeEncoder, EncodeLevel: zapcore.CapitalLevelEncoder,
|
|
EncodeCaller: zapcore.ShortCallerEncoder,
|
|
})
|
|
logger := zap.New(zapcore.NewCore(encoder, zapcore.AddSync(newLumberjackLogger(config)), parseLevel(level)), zap.AddCaller())
|
|
return logger, logger.Sync
|
|
}
|