feat: 日志 log 包支持更多设置
This commit is contained in:
parent
a96d5740de
commit
83e06759a5
|
@ -14,13 +14,8 @@ import (
|
||||||
var (
|
var (
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
prod bool
|
prod bool
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
logPath string
|
logPath string
|
||||||
)
|
logDevWrite bool
|
||||||
|
|
||||||
const (
|
|
||||||
logTime = 7
|
logTime = 7
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -60,9 +55,19 @@ func newLogger() *zap.Logger {
|
||||||
var cores zapcore.Core
|
var cores zapcore.Core
|
||||||
|
|
||||||
if !prod {
|
if !prod {
|
||||||
|
if len(logPath) > 0 && logDevWrite {
|
||||||
|
infoWriter := getWriter(fmt.Sprintf("%s/info.log", logPath), logTime)
|
||||||
|
errorWriter := getWriter(fmt.Sprintf("%s/error.log", logPath), logTime)
|
||||||
|
cores = zapcore.NewTee(
|
||||||
|
zapcore.NewCore(encoder, zapcore.AddSync(infoWriter), infoLevel),
|
||||||
|
zapcore.NewCore(encoder, zapcore.AddSync(errorWriter), errorLevel),
|
||||||
|
zapcore.NewCore(encoder, zapcore.AddSync(os.Stdout), debugLevel),
|
||||||
|
)
|
||||||
|
} else {
|
||||||
cores = zapcore.NewTee(
|
cores = zapcore.NewTee(
|
||||||
zapcore.NewCore(encoder, zapcore.AddSync(os.Stdout), debugLevel),
|
zapcore.NewCore(encoder, zapcore.AddSync(os.Stdout), debugLevel),
|
||||||
)
|
)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if len(logPath) == 0 {
|
if len(logPath) == 0 {
|
||||||
cores = zapcore.NewTee(
|
cores = zapcore.NewTee(
|
||||||
|
@ -82,7 +87,7 @@ func newLogger() *zap.Logger {
|
||||||
return zap.New(cores, zap.AddCaller(), zap.AddCallerSkip(1))
|
return zap.New(cores, zap.AddCaller(), zap.AddCallerSkip(1))
|
||||||
}
|
}
|
||||||
|
|
||||||
func getWriter(filename string, times int32) io.Writer {
|
func getWriter(filename string, times int) io.Writer {
|
||||||
hook, err := rotatelogs.New(
|
hook, err := rotatelogs.New(
|
||||||
filename+".%Y%m%d",
|
filename+".%Y%m%d",
|
||||||
rotatelogs.WithLinkName(filename),
|
rotatelogs.WithLinkName(filename),
|
||||||
|
@ -132,18 +137,38 @@ func ErrorWithStack(msg, stack string, fields ...zap.Field) {
|
||||||
fmt.Println(stackMerge)
|
fmt.Println(stackMerge)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetProd 设置生产环境模式
|
||||||
func SetProd() {
|
func SetProd() {
|
||||||
prod = true
|
prod = true
|
||||||
if logger != nil {
|
if logger != nil {
|
||||||
_ = logger.Sync()
|
_ = logger.Sync()
|
||||||
logger = newLogger()
|
|
||||||
}
|
}
|
||||||
|
logger = newLogger()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetLogDir 设置日志输出目录
|
||||||
func SetLogDir(dir string) {
|
func SetLogDir(dir string) {
|
||||||
logPath = dir
|
logPath = dir
|
||||||
if logger != nil {
|
if logger != nil {
|
||||||
_ = logger.Sync()
|
_ = logger.Sync()
|
||||||
logger = newLogger()
|
|
||||||
}
|
}
|
||||||
|
logger = newLogger()
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetWriteFileWithDev 设置开发环境下写入文件
|
||||||
|
func SetWriteFileWithDev() {
|
||||||
|
logDevWrite = true
|
||||||
|
if logger != nil {
|
||||||
|
_ = logger.Sync()
|
||||||
|
}
|
||||||
|
logger = newLogger()
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLogRotate 设置日志切割时间
|
||||||
|
func SetLogRotate(t int) {
|
||||||
|
logTime = t
|
||||||
|
if logger != nil {
|
||||||
|
_ = logger.Sync()
|
||||||
|
}
|
||||||
|
logger = newLogger()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue