标签:zapcore log SugaredLogger writeSyncer encoder Go zap encoderConfig
代码
package main
import (
// "github.com/natefinch/lumberjack"
"os"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
var log *zap.Logger
var logs *zap.SugaredLogger
var db *sqlx.DB
func main() {
InitLogger()
defer log.Sync()
}
func InitLogger() {
// 1. writeSyncer循环文件
// file, _ := os.Create("./test.log")
// writeSyncer := zapcore.AddSync(file)
// lumberJackLogger := &lumberjack.Logger{
// Filename: "./test.log",
// LocalTime: true,
// MaxSize: 1, //M
// MaxBackups: 5, //个
// MaxAge: 0, //天
// Compress: false,
// }
// writeSyncer := zapcore.AddSync(lumberJackLogger)
// 2. console 打印 调试
writeSyncer := zapcore.AddSync(os.Stdout)
// 3. encoder JSON格式
// encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
// 4. encoder Console格式
// encoder := zapcore.NewConsoleEncoder(zap.NewProductionEncoderConfig())
// 5. 自定义格式
encoderConfig := zap.NewProductionEncoderConfig()
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
encoder := zapcore.NewJSONEncoder(encoderConfig)
// 6.core
core := zapcore.NewCore(encoder, writeSyncer, zapcore.DebugLevel)
// 7.log
log = zap.New(core)
logs = log.Sugar()
}
标签:zapcore,log,SugaredLogger,writeSyncer,encoder,Go,zap,encoderConfig 来源: https://blog.csdn.net/xuehu96/article/details/122421705
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。