🐛 Fix a bug.

This commit is contained in:
李寻欢 2022-05-18 18:53:17 +08:00
parent 4e2f8f6466
commit ebae5c29cd
3 changed files with 7 additions and 6 deletions

View File

@ -1,6 +1,7 @@
package logger package logger
import ( import (
"gitee.ltd/lxh/logger/log"
"gorm.io/driver/mysql" "gorm.io/driver/mysql"
"gorm.io/gorm" "gorm.io/gorm"
"testing" "testing"
@ -11,7 +12,7 @@ func TestGormLogger(t *testing.T) {
engine, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: DefaultGormLogger()}) engine, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: DefaultGormLogger()})
if err != nil { if err != nil {
Say.Panicf("mysql connect error: %s", err.Error()) log.Panicf("mysql connect error: %s", err.Error())
} }
var count int64 var count int64

View File

@ -8,11 +8,11 @@ import (
) )
var config LogConfig var config LogConfig
var Say *zap.SugaredLogger var initialized bool
// 避免异常在第一次调用时初始化一个只打印到控制台的logger // 避免异常在第一次调用时初始化一个只打印到控制台的logger
func init() { func init() {
if Say == nil { if !initialized {
// 从环境变量读取配置 // 从环境变量读取配置
var c LogConfig var c LogConfig
if err := env.Parse(&c); err != nil { if err := env.Parse(&c); err != nil {
@ -48,7 +48,7 @@ func InitLogger(c LogConfig) {
// 增加 caller 信息 // 增加 caller 信息
// AddCallerSkip 输出的文件名和行号是调用封装函数的位置,而不是调用日志函数的位置 // AddCallerSkip 输出的文件名和行号是调用封装函数的位置,而不是调用日志函数的位置
logger := zap.New(zapcore.NewTee(cores...), zap.AddCaller(), zap.AddCallerSkip(1)) logger := zap.New(zapcore.NewTee(cores...), zap.AddCaller(), zap.AddCallerSkip(1))
Say = logger.Sugar() initialized = true
// 给GORM单独生成一个 // 给GORM单独生成一个
gormZap = zap.New(zapcore.NewTee(cores...), zap.AddCaller(), zap.AddCallerSkip(3)).Sugar() gormZap = zap.New(zapcore.NewTee(cores...), zap.AddCaller(), zap.AddCallerSkip(3)).Sugar()
zap.ReplaceGlobals(logger) zap.ReplaceGlobals(logger)

View File

@ -8,11 +8,11 @@ import (
func TestLogger(t *testing.T) { func TestLogger(t *testing.T) {
InitLogger(LogConfig{Mode: Dev, LokiEnable: false, FileEnable: true}) InitLogger(LogConfig{Mode: Dev, LokiEnable: false, FileEnable: true})
Say.Debug("芜湖") log.Debug("芜湖")
} }
func TestLogger1(t *testing.T) { func TestLogger1(t *testing.T) {
Say.Info("我是测试消息") log.Info("我是测试消息")
time.Sleep(5 * time.Second) time.Sleep(5 * time.Second)
} }