1 Star 0 Fork 0

jason-laf/mxshop

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
logger.go 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
jason-laf 提交于 2023-07-02 17:43 +08:00 . update
package initialize
import (
"os"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"gitee.com/jason-laf/mxshop/goods/srv/global"
)
// 1、S()可以获取一个并发安全的全局的sugarLogger
// 2、S函数和L函数很有用
// 3、日志级别从低到高:debug、info、warn、error、fatal
func DefaultLogger() {
c := zap.NewProductionConfig() // ProductionConfig中的Level为info,所以不会输出Info以下的日志(即debug)
c.OutputPaths = []string{ // 配置输出目标
global.Config.Server.LogPath, // 文件输出
"stderr", // 标准输出(控制台)
}
l, _ := c.Build() // 构建logger
zap.ReplaceGlobals(l) // 替换全局logger
}
func Logger() {
encoder := getEncoder()
writeSyncer := getLogWriter()
core := zapcore.NewCore(encoder, writeSyncer, zapcore.InfoLevel) // 第三个及之后的参数为写入文件的日志级别,ErrorLevel模式只记录error级别的日志
logger := zap.New(core, zap.AddCaller()) // AddCaller()添加调用方信息
zap.ReplaceGlobals(logger)
}
func getEncoder() zapcore.Encoder {
encoderConfig := zap.NewProductionEncoderConfig()
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder // 指定时间格式
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder // 使用大写
return zapcore.NewConsoleEncoder(encoderConfig) // 获取编码器,NewJSONEncoder()输出json格式,NewConsoleEncoder()输出普通文本格式
// return zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
}
func getLogWriter() zapcore.WriteSyncer {
file, _ := os.OpenFile(global.Config.Server.LogPath, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0644) // 日志文件存放目录
return zapcore.AddSync(file)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jason-laf/mxshop.git
git@gitee.com:jason-laf/mxshop.git
jason-laf
mxshop
mxshop
7f5221240606

搜索帮助