Commit 352e80f3 authored by Tsaiilin's avatar Tsaiilin

日志输出格式调整

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