Commit 0603f3c6 by feidy

update logger

parent a74e79a9
package utils package utils
import ( import (
"os"
"github.com/natefinch/lumberjack" "github.com/natefinch/lumberjack"
"go.uber.org/zap" "go.uber.org/zap"
"go.uber.org/zap/zapcore" "go.uber.org/zap/zapcore"
"os"
) )
const ( const (
// DebugLevel logs are typically voluminous, and are usually disabled in // DebugLevel logs are typically voluminous, and are usually disabled in
// production. // production.
...@@ -29,20 +29,20 @@ const ( ...@@ -29,20 +29,20 @@ const (
Fatal Fatal
) )
type loggerConfig struct { type loggerConfig struct {
Level int8 Level int8
FilePath string FilePath string
MaxSize int MaxSize int
MaxBackups int MaxBackups int
MaxAge int MaxAge int
Compress bool Compress bool
Ostd bool
} }
type loggerOption func(m *loggerConfig) type loggerOption func(m *loggerConfig)
func WithLevel(level int8) loggerOption { func WithLevel(level int8) loggerOption {
return func(m *loggerConfig){ return func(m *loggerConfig) {
m.Level = level m.Level = level
} }
} }
...@@ -53,39 +53,43 @@ func WithLogFilePath(filePath string) loggerOption { ...@@ -53,39 +53,43 @@ func WithLogFilePath(filePath string) loggerOption {
} }
} }
func WithMaxSize(maxSize int) loggerOption {
func WithMaxSize(maxSize int)loggerOption {
return func(m *loggerConfig) { return func(m *loggerConfig) {
m.MaxSize = maxSize m.MaxSize = maxSize
} }
} }
func WithMaxBackups(maxBack int) loggerOption {
func WithMaxBackups(maxBack int)loggerOption {
return func(m *loggerConfig) { return func(m *loggerConfig) {
m.MaxBackups = maxBack m.MaxBackups = maxBack
} }
} }
func WithMaxAge(maxAge int)loggerOption { func WithMaxAge(maxAge int) loggerOption {
return func(m *loggerConfig) { return func(m *loggerConfig) {
m.MaxAge = maxAge m.MaxAge = maxAge
} }
} }
func WithCompress(compress bool) loggerOption { func WithCompress(compress bool) loggerOption {
return func(m *loggerConfig){ return func(m *loggerConfig) {
m.Compress = compress m.Compress = compress
} }
} }
func WithOstd(isOstd bool) loggerOption {
return func(m *loggerConfig) {
m.Ostd = isOstd
}
}
var lf = loggerConfig{ var lf = loggerConfig{
Level: 1, Level: 1,
FilePath: "log/log.log", FilePath: "log/log.log",
MaxSize: 100, MaxSize: 100,
MaxAge: 7, MaxAge: 7,
MaxBackups: 7, MaxBackups: 7,
Compress: true, Compress: true,
} }
var L *zap.SugaredLogger var L *zap.SugaredLogger
...@@ -98,11 +102,19 @@ func InitLogger(opt ...loggerOption) { ...@@ -98,11 +102,19 @@ func InitLogger(opt ...loggerOption) {
writeSync := getLogWriter() writeSync := getLogWriter()
encoder := getEncoder() encoder := getEncoder()
consoleDebugging := zapcore.Lock(os.Stdout) var core zapcore.Core
core := zapcore.NewTee( if lf.Ostd {
zapcore.NewCore(encoder, writeSync, zapcore.Level(lf.Level)), consoleDebugging := zapcore.Lock(os.Stdout)
zapcore.NewCore(zapcore.NewConsoleEncoder(zap.NewDevelopmentEncoderConfig()), consoleDebugging, zapcore.Level(lf.Level)), core = zapcore.NewTee(
) zapcore.NewCore(encoder, writeSync, zapcore.Level(lf.Level)),
zapcore.NewCore(zapcore.NewConsoleEncoder(zap.NewDevelopmentEncoderConfig()), consoleDebugging, zapcore.Level(lf.Level)),
)
} else {
core = zapcore.NewTee(
zapcore.NewCore(encoder, writeSync, zapcore.Level(lf.Level)),
)
}
logger := zap.New(core, zap.AddCaller()) logger := zap.New(core, zap.AddCaller())
L = logger.Sugar() L = logger.Sugar()
} }
...@@ -125,4 +137,3 @@ func getLogWriter() zapcore.WriteSyncer { ...@@ -125,4 +137,3 @@ func getLogWriter() zapcore.WriteSyncer {
return zapcore.AddSync(lumberJackLogger) return zapcore.AddSync(lumberJackLogger)
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment