ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Go日志库——zap的配置笔记(zap.Logger、zap.SugaredLogger)

2022-01-10 23:30:46  阅读:250  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有