mirror of https://github.com/dnomd343/XProxy.git
Dnomd343
1 year ago
3 changed files with 110 additions and 7 deletions
@ -1,17 +1,112 @@ |
|||
package logger |
|||
|
|||
import "go.uber.org/zap" |
|||
import ( |
|||
"fmt" |
|||
"go.uber.org/zap" |
|||
"os" |
|||
"time" |
|||
) |
|||
import "go.uber.org/zap/zapcore" |
|||
|
|||
var Logger *zap.SugaredLogger |
|||
|
|||
const ( |
|||
logTmFmt = "2006-01-02 15:04:05" |
|||
) |
|||
|
|||
func init() { |
|||
log, err := zap.NewDevelopment() |
|||
if err != nil { |
|||
panic("log utils init failed") |
|||
} |
|||
|
|||
//coreConfig := zapcore.EncoderConfig{
|
|||
// TimeKey: "ts",
|
|||
// LevelKey: "level",
|
|||
// NameKey: "logger",
|
|||
// CallerKey: "caller",
|
|||
// FunctionKey: zapcore.OmitKey,
|
|||
// MessageKey: "msg",
|
|||
// StacktraceKey: "stacktrace",
|
|||
// LineEnding: zapcore.DefaultLineEnding, // 默认换行符"\n"
|
|||
// EncodeLevel: zapcore.CapitalColorLevelEncoder,
|
|||
// EncodeTime: zapcore.RFC3339TimeEncoder, // 日志时间格式显示
|
|||
// EncodeDuration: zapcore.MillisDurationEncoder, // 时间序列化,Duration为经过的浮点秒数
|
|||
// EncodeCaller: zapcore.ShortCallerEncoder, // 日志行号显示
|
|||
//}
|
|||
//
|
|||
//encoder := zapcore.NewConsoleEncoder(coreConfig)
|
|||
//
|
|||
//newCore := zapcore.NewCore(encoder, zapcore.AddSync(os.Stdout), zapcore.DebugLevel)
|
|||
//
|
|||
//logger := zap.New(newCore)
|
|||
//
|
|||
//Logger = logger.Sugar()
|
|||
|
|||
GetLogger() |
|||
|
|||
//log, err := zap.NewDevelopment()
|
|||
//if err != nil {
|
|||
// panic("log utils init failed")
|
|||
//}
|
|||
|
|||
// TODO: more zap logger configure
|
|||
// TODO: reserve raw logger handle
|
|||
|
|||
Logger = log.Sugar() |
|||
//Logger = log.Sugar()
|
|||
} |
|||
|
|||
func GetLogger() { |
|||
config := zapcore.EncoderConfig{ |
|||
MessageKey: "M", |
|||
LevelKey: "L", |
|||
TimeKey: "T", |
|||
NameKey: "N", |
|||
CallerKey: "C", |
|||
FunctionKey: "F", |
|||
StacktraceKey: "S", |
|||
SkipLineEnding: false, |
|||
LineEnding: "!!!\n", |
|||
|
|||
EncodeLevel: logEncodeLevel, |
|||
EncodeTime: logEncodeTime, |
|||
EncodeDuration: zapcore.StringDurationEncoder, |
|||
EncodeCaller: logEncodeCaller, |
|||
|
|||
EncodeName: logEncodeName, |
|||
ConsoleSeparator: "$$", |
|||
} |
|||
|
|||
//var zc = zap.Config{
|
|||
// Level: zap.NewAtomicLevelAt(zapcore.DebugLevel),
|
|||
// Development: false,
|
|||
// DisableCaller: false,
|
|||
// DisableStacktrace: false,
|
|||
// Sampling: nil,
|
|||
// Encoding: "json",
|
|||
// EncoderConfig: config,
|
|||
// OutputPaths: []string{"stdout"},
|
|||
// ErrorOutputPaths: []string{"stderr"},
|
|||
// InitialFields: map[string]interface{}{"app": "zapdex"},
|
|||
//}
|
|||
|
|||
newCore := zapcore.NewCore(zapcore.NewConsoleEncoder(config), zapcore.Lock(os.Stderr), zapcore.DebugLevel) |
|||
//newCore := zapcore.NewCore(zapcore.NewJSONEncoder(config), zapcore.Lock(os.Stderr), zapcore.DebugLevel)
|
|||
logger := zap.New(newCore, zap.AddCaller()) |
|||
//logger, _ := zc.Build()
|
|||
zap.ReplaceGlobals(logger) |
|||
Logger = logger.Sugar() |
|||
} |
|||
|
|||
func logEncodeLevel(level zapcore.Level, enc zapcore.PrimitiveArrayEncoder) { |
|||
enc.AppendString("[" + level.CapitalString() + "]") |
|||
} |
|||
|
|||
func logEncodeTime(t time.Time, enc zapcore.PrimitiveArrayEncoder) { |
|||
enc.AppendString("[[" + t.Format(logTmFmt) + "]]") |
|||
} |
|||
|
|||
func logEncodeCaller(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) { |
|||
enc.AppendString("{" + caller.TrimmedPath() + "}") |
|||
} |
|||
|
|||
func logEncodeName(loggerName string, enc zapcore.PrimitiveArrayEncoder) { |
|||
fmt.Println(loggerName) |
|||
enc.AppendString("{{" + loggerName + "}}") |
|||
} |
|||
|
Loading…
Reference in new issue