11package internal
22
33import (
4- "bytes"
54"fmt"
65"github.com/flipped-aurora/gin-vue-admin/server/global"
76"go.uber.org/zap"
8- "go.uber.org/zap/buffer"
97"go.uber.org/zap/zapcore"
10- "runtime"
11- "strings"
128"time"
139)
1410
@@ -39,7 +35,7 @@ func (z *_zap) GetEncoderConfig() zapcore.EncoderConfig {
3935EncodeLevel : global .GVA_CONFIG .Zap .ZapEncodeLevel (),
4036EncodeTime : z .CustomTimeEncoder ,
4137EncodeDuration : zapcore .SecondsDurationEncoder ,
42- EncodeCaller : CallerEncoder ,
38+ EncodeCaller : zapcore . FullCallerEncoder ,
4339}
4440}
4541
@@ -52,7 +48,7 @@ func (z *_zap) GetEncoderCore(l zapcore.Level, level zap.LevelEnablerFunc) zapco
5248return nil
5349}
5450
55- return zapcore .NewCore (& EscapeSeqJSONEncoder { z .GetEncoder ()} , writer , level )
51+ return zapcore .NewCore (z .GetEncoder (), writer , level )
5652}
5753
5854// CustomTimeEncoder 自定义日志输出时间格式
@@ -109,41 +105,3 @@ func (z *_zap) GetLevelPriority(level zapcore.Level) zap.LevelEnablerFunc {
109105}
110106}
111107}
112-
113- // FuncName 返回调用本函数的函数名称
114- // pc runtime.Caller 返回的第一个值
115- func FuncName (pc uintptr ) string {
116- funcName := runtime .FuncForPC (pc ).Name ()
117- sFuncName := strings .Split (funcName , "." )
118- return sFuncName [len (sFuncName )- 1 ]
119- }
120-
121- // CallerEncoder serializes a caller in package/file:funcname:line format
122- func CallerEncoder (caller zapcore.EntryCaller , enc zapcore.PrimitiveArrayEncoder ) {
123- shortCaller := caller .TrimmedPath ()
124- shortCallerSplited := strings .Split (shortCaller , ":" )
125- funcName := FuncName (caller .PC )
126- result := shortCallerSplited [0 ] + ":" + funcName + ":" + shortCallerSplited [1 ]
127- enc .AppendString (result )
128- }
129-
130- type EscapeSeqJSONEncoder struct {
131- zapcore.Encoder
132- }
133-
134- // EncodeEntry 将方法zap.error中的errorVerbose的堆栈换行符修改
135- func (enc * EscapeSeqJSONEncoder ) EncodeEntry (entry zapcore.Entry , fields []zapcore.Field ) (* buffer.Buffer , error ) {
136- b , err := enc .Encoder .EncodeEntry (entry , fields )
137- if err != nil {
138- return nil , err
139- }
140- newb := buffer .NewPool ().Get ()
141-
142- b1 := bytes .Replace (b .Bytes (), []byte ("\\ n" ), []byte ("\n " ), - 1 )
143- b2 := bytes .Replace (b1 , []byte ("\\ t" ), []byte ("\t " ), - 1 )
144- _ , err = newb .Write (b2 )
145- if err != nil {
146- return nil , err
147- }
148- return newb , nil
149- }
0 commit comments