日志
This commit is contained in:
parent
f5f69f2a56
commit
fa00f01a95
@ -31,7 +31,7 @@ func main() {
|
|||||||
lxrun.Run("prod", "8989", func() {
|
lxrun.Run("prod", "8989", func() {
|
||||||
//可执行定时器等等
|
//可执行定时器等等
|
||||||
fmt.Println("run cron、mq")
|
fmt.Println("run cron、mq")
|
||||||
}, router, lxzap.LogConfig{
|
}, router, lxzap.ZapLogConfig{
|
||||||
Level: "info",
|
Level: "info",
|
||||||
Filename: "zap.log",
|
Filename: "zap.log",
|
||||||
MaxSize: 2,
|
MaxSize: 2,
|
||||||
|
|||||||
2
go.sum
2
go.sum
@ -84,6 +84,8 @@ go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ=
|
|||||||
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||||
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
|
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
|
||||||
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
|
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
|
||||||
|
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
|
||||||
|
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
|
||||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||||
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
|
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
|
||||||
golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||||
|
|||||||
@ -18,7 +18,7 @@ import (
|
|||||||
|
|
||||||
func Run(env string, port string, fun func(), r func(router *gin.Engine), zapConfig lxzap.ZapLogConfig, dbConf []lxDb.DbConfig, redisConf lxDb.RedisConfig) {
|
func Run(env string, port string, fun func(), r func(router *gin.Engine), zapConfig lxzap.ZapLogConfig, dbConf []lxDb.DbConfig, redisConf lxDb.RedisConfig) {
|
||||||
_ = lxlog.InitLog()
|
_ = lxlog.InitLog()
|
||||||
err := lxzap.InitZapLogger(zapConfig)
|
err := lxzap.InitZapLogger(zapConfig, env)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,29 +33,41 @@ type ZapLogConfig struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// InitZapLogger 初始化Logger
|
// InitZapLogger 初始化Logger
|
||||||
func InitZapLogger(cfg ZapLogConfig) (err error) {
|
func InitZapLogger(cfg ZapLogConfig, env string) (err error) {
|
||||||
writeSyncer := getLogWriter(cfg.Filename, cfg.MaxSize, cfg.MaxBackups, cfg.MaxAge)
|
writeSyncer := getLogWriter(cfg.Filename, cfg.MaxSize, cfg.MaxBackups, cfg.MaxAge)
|
||||||
encoder := getEncoder()
|
encoder := getEncoder(env)
|
||||||
var l = new(zapcore.Level)
|
var l = new(zapcore.Level)
|
||||||
err = l.UnmarshalText([]byte(cfg.Level))
|
err = l.UnmarshalText([]byte(cfg.Level))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
core := zapcore.NewCore(encoder, writeSyncer, l)
|
// 创建 zap 核心
|
||||||
|
core := zapcore.NewCore(
|
||||||
|
encoder,
|
||||||
|
zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout), writeSyncer),
|
||||||
|
l,
|
||||||
|
)
|
||||||
|
if env != "dev" {
|
||||||
|
core = zapcore.NewCore(encoder, writeSyncer, l)
|
||||||
|
}
|
||||||
|
// 创建 zap 日志对象
|
||||||
Lg = zap.New(core, zap.AddCaller())
|
Lg = zap.New(core, zap.AddCaller())
|
||||||
zap.ReplaceGlobals(Lg) // 替换zap包中全局的logger实例,后续在其他包中只需使用zap.L()调用即可
|
zap.ReplaceGlobals(Lg) // 替换zap包中全局的logger实例,后续在其他包中只需使用zap.L()调用即可
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func getEncoder() zapcore.Encoder {
|
func getEncoder(env string) zapcore.Encoder {
|
||||||
encoderConfig := zap.NewProductionEncoderConfig()
|
encoderConfig := zap.NewProductionEncoderConfig()
|
||||||
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
|
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
|
||||||
encoderConfig.TimeKey = "time"
|
encoderConfig.TimeKey = "time"
|
||||||
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
|
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
|
||||||
encoderConfig.EncodeDuration = zapcore.SecondsDurationEncoder
|
encoderConfig.EncodeDuration = zapcore.SecondsDurationEncoder
|
||||||
encoderConfig.EncodeCaller = zapcore.ShortCallerEncoder
|
encoderConfig.EncodeCaller = zapcore.ShortCallerEncoder
|
||||||
return zapcore.NewJSONEncoder(encoderConfig)
|
l := zapcore.NewConsoleEncoder(encoderConfig)
|
||||||
|
if env != "dev" {
|
||||||
|
l = zapcore.NewJSONEncoder(encoderConfig)
|
||||||
|
}
|
||||||
|
return l
|
||||||
}
|
}
|
||||||
|
|
||||||
func getLogWriter(filename string, maxSize, maxBackup, maxAge int) zapcore.WriteSyncer {
|
func getLogWriter(filename string, maxSize, maxBackup, maxAge int) zapcore.WriteSyncer {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user