Commit 352e80f3 authored by Tsaiilin's avatar Tsaiilin

日志输出格式调整

parent 28de3e20
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"go.uber.org/zap/zapcore" "go.uber.org/zap/zapcore"
"os" "os"
"path/filepath" "path/filepath"
"time"
"github.com/adamweixuan/getty" "github.com/adamweixuan/getty"
"virjar.com/majora-go/env" "virjar.com/majora-go/env"
...@@ -13,7 +14,7 @@ import ( ...@@ -13,7 +14,7 @@ import (
var ( var (
runLogger getty.Logger runLogger getty.Logger
traceLogger *zap.Logger traceLogger getty.Logger
errorLogger getty.Logger errorLogger getty.Logger
) )
...@@ -22,6 +23,8 @@ const ( ...@@ -22,6 +23,8 @@ const (
run = "run.log" run = "run.log"
trace = "trace.log" trace = "trace.log"
error = "error.log" error = "error.log"
logTmFmtWithMS = "2006-01-02 15:04:05.000"
) )
// debug 模式下会将日志输出到控制台和文件,其他模式只输出到文件 // debug 模式下会将日志输出到控制台和文件,其他模式只输出到文件
...@@ -40,9 +43,21 @@ func getLogWriter(path string) zapcore.WriteSyncer { ...@@ -40,9 +43,21 @@ func getLogWriter(path string) zapcore.WriteSyncer {
} }
func getEncoder() zapcore.Encoder { func getEncoder() zapcore.Encoder {
customTimeEncoder := func(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
enc.AppendString("[" + t.Format(logTmFmtWithMS) + "]")
}
customLevelEncoder := func(level zapcore.Level, enc zapcore.PrimitiveArrayEncoder) {
enc.AppendString("[" + level.CapitalString() + "]")
}
customCallerEncoder := func(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) {
enc.AppendString("[" + caller.TrimmedPath() + "]")
}
encoderConfig := zap.NewDevelopmentEncoderConfig() encoderConfig := zap.NewDevelopmentEncoderConfig()
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder encoderConfig.EncodeTime = customTimeEncoder
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder encoderConfig.EncodeLevel = customLevelEncoder
encoderConfig.EncodeCaller = customCallerEncoder
return zapcore.NewConsoleEncoder(encoderConfig) return zapcore.NewConsoleEncoder(encoderConfig)
} }
...@@ -71,9 +86,9 @@ func Init(level string) { ...@@ -71,9 +86,9 @@ func Init(level string) {
panic("invalid current path") panic("invalid current path")
} }
runLogger = initSugaredLogger(filepath.Join(base, run), level) runLogger = initSugaredLogger(filepath.Join(base, run), true, level)
errorLogger = initSugaredLogger(filepath.Join(base, error), level) errorLogger = initSugaredLogger(filepath.Join(base, error), true, level)
traceLogger = initLogger(filepath.Join(base, trace), false, level) traceLogger = initSugaredLogger(filepath.Join(base, trace), false, level)
// 框架的日志也输入到 run.log 中 // 框架的日志也输入到 run.log 中
getty.SetLogger(runLogger) getty.SetLogger(runLogger)
} }
...@@ -93,8 +108,8 @@ func initLogger(path string, caller bool, level string) *zap.Logger { ...@@ -93,8 +108,8 @@ func initLogger(path string, caller bool, level string) *zap.Logger {
} }
} }
func initSugaredLogger(path string, level string) *zap.SugaredLogger { func initSugaredLogger(path string, caller bool, level string) *zap.SugaredLogger {
logger := initLogger(path, true, level) logger := initLogger(path, caller, level)
return logger.Sugar() return logger.Sugar()
} }
...@@ -102,7 +117,7 @@ func Run() getty.Logger { ...@@ -102,7 +117,7 @@ func Run() getty.Logger {
return runLogger return runLogger
} }
func Trace() *zap.Logger { func Trace() getty.Logger {
return traceLogger return traceLogger
} }
......
File deleted
package trace package trace
import ( import (
"runtime"
"sync/atomic" "sync/atomic"
"time" "time"
"go.uber.org/zap"
"virjar.com/majora-go/env" "virjar.com/majora-go/env"
"virjar.com/majora-go/log" "virjar.com/majora-go/log"
"virjar.com/majora-go/safe" "virjar.com/majora-go/safe"
) )
var ( var (
sessionEventChan = make(chan *sessionEvent, 1000) sessionEventChan = make(chan *sessionEvent, runtime.GOMAXPROCS(-1) * 100)
ConnectEvent = "ConnectEvent" ConnectEvent = "ConnectEvent"
TransferEvent = "TransferEvent" TransferEvent = "TransferEvent"
MajoraSessionName = "MajoraSessionId" MajoraSessionName = "MajoraSessionId"
...@@ -26,11 +25,11 @@ func init() { ...@@ -26,11 +25,11 @@ func init() {
for { for {
e := <-sessionEventChan e := <-sessionEventChan
if e.Err != nil { if e.Err != nil {
log.Trace().Error("TraceError", zap.String("sessionId", e.sessionId), log.Trace().Errorf("[%s] [%s] [%s] %s error:%+v",
zap.Any("event", e.Event), zap.Error(e.Err)) e.sessionId, e.Timestamp.Format("2006-01-02 15:04:05.000000"), e.EventName, e.Message, e.Err)
} else { } else {
log.Trace().Info("Trace", zap.String("sessionId", e.sessionId), log.Trace().Infof("[%s] [%s] [%s] %s",
zap.Any("event", e.Event)) e.sessionId, e.Timestamp.Format("2006-01-02 15:04:05.000000"), e.EventName, e.Message)
} }
} }
}) })
...@@ -149,4 +148,4 @@ func NewSession(sessionId string) *Session { ...@@ -149,4 +148,4 @@ func NewSession(sessionId string) *Session {
return &Session{ return &Session{
Recorder: acquireRecorder(sessionId), Recorder: acquireRecorder(sessionId),
} }
} }
\ No newline at end of file
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