Files
stat_center/common/log/log.go
T
2026-05-20 16:13:58 +08:00

65 lines
1.4 KiB
Go

package log
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"os"
"time"
)
var (
zapLogger *zap.Logger
ZapLog *zap.Logger
Debug = zapLogger.Debug
Info = zapLogger.Info
Warn = zapLogger.Warn
Error = zapLogger.Error
Fatal = zapLogger.Fatal
)
func newEncoderConfig() zapcore.EncoderConfig {
return zapcore.EncoderConfig{
// Keys can be anything except the empty string.
TimeKey: "T",
LevelKey: "L",
NameKey: "N",
CallerKey: "C",
MessageKey: "M",
StacktraceKey: "S",
LineEnding: zapcore.DefaultLineEnding,
EncodeLevel: zapcore.CapitalLevelEncoder,
EncodeTime: timeEncoder,
EncodeDuration: zapcore.StringDurationEncoder,
EncodeCaller: zapcore.ShortCallerEncoder,
}
}
func init() {
core := zapcore.NewCore(
zapcore.NewConsoleEncoder(newEncoderConfig()),
zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout)),
zap.DebugLevel,
)
zapLogger = zap.New(core, zap.AddCaller())
ZapLog = zapLogger
Debug = zapLogger.Debug
Info = zapLogger.Info
Warn = zapLogger.Warn
Error = zapLogger.Error
Fatal = zapLogger.Fatal
}
func timeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
enc.AppendString(t.Format("2006-01-02 15:04:05"))
}
type Field = zap.Field
func Any(key string, value interface{}) Field {
return zap.Any(key, value)
}
func E(err error) Field {
return Any("err", err)
}