Skip to content

Commit 6d5dc43

Browse files
author
piexlmax
committed
恢复zip的自动定位代码行功能
1 parent 7393fe3 commit 6d5dc43

File tree

1 file changed

+2
-44
lines changed

1 file changed

+2
-44
lines changed

server/core/internal/zap.go

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
package internal
22

33
import (
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 {
3935
EncodeLevel: global.GVA_CONFIG.Zap.ZapEncodeLevel(),
4036
EncodeTime: z.CustomTimeEncoder,
4137
EncodeDuration: 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
5248
return 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

Comments
 (0)