mirror of
https://gitee.ltd/lxh/logger.git
synced 2025-10-23 14:56:16 +08:00
🎉logger的v2版本,暂未支持环境变量配置
This commit is contained in:
49
console.go
Normal file
49
console.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package zap_logger
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
customencoder "gitee.ltd/lxh/logger/v2/encoder"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
)
|
||||
|
||||
type consoleLogger struct {
|
||||
Encoder string
|
||||
Level string
|
||||
Color bool
|
||||
}
|
||||
|
||||
func newConsoleLogger(consoleConf *Console) *consoleLogger {
|
||||
return &consoleLogger{
|
||||
Encoder: consoleConf.Encoder,
|
||||
Level: consoleConf.Level,
|
||||
Color: consoleConf.Color,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *consoleLogger) Init() zapcore.Core {
|
||||
encoderConfig := zap.NewProductionEncoderConfig()
|
||||
encoderConfig.TimeKey = "time"
|
||||
encoderConfig.EncodeTime = func(time time.Time, encoder zapcore.PrimitiveArrayEncoder) {
|
||||
encoder.AppendString(time.Format("2006-01-02 15:04:05.000"))
|
||||
}
|
||||
|
||||
writer := zapcore.AddSync(os.Stdout)
|
||||
var encoder zapcore.Encoder
|
||||
switch c.Encoder {
|
||||
case "json":
|
||||
encoder = customencoder.NewJsonEncoder(encoderConfig)
|
||||
case "console":
|
||||
if c.Color {
|
||||
encoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
|
||||
}
|
||||
encoder = zapcore.NewConsoleEncoder(encoderConfig)
|
||||
}
|
||||
|
||||
level, _ := zapcore.ParseLevel(strings.ToLower(c.Level))
|
||||
|
||||
return zapcore.NewCore(encoder, writer, level)
|
||||
}
|
Reference in New Issue
Block a user