fix for gin logging
This commit is contained in:
parent
33290aa5c7
commit
95fd9f66d6
@ -2,6 +2,7 @@ package log
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"go.uber.org/zap/zapcore"
|
"go.uber.org/zap/zapcore"
|
||||||
@ -13,25 +14,67 @@ type writerLogger struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func AsWriter(log *zap.SugaredLogger, level zapcore.Level) io.Writer {
|
func AsWriter(log *zap.SugaredLogger, level zapcore.Level) io.Writer {
|
||||||
return &writerLogger{log: log}
|
return &writerLogger{log: log, level: level}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *writerLogger) Write(p []byte) (n int, err error) {
|
func (w *writerLogger) Write(p []byte) (n int, err error) {
|
||||||
switch w.level {
|
switch w.level {
|
||||||
case zapcore.DebugLevel:
|
case zapcore.DebugLevel:
|
||||||
w.log.Debug(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.Debug(line)
|
||||||
|
}
|
||||||
case zapcore.InfoLevel:
|
case zapcore.InfoLevel:
|
||||||
w.log.Info(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.Info(line)
|
||||||
|
}
|
||||||
case zapcore.WarnLevel:
|
case zapcore.WarnLevel:
|
||||||
w.log.Warn(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.Warn(line)
|
||||||
|
}
|
||||||
case zapcore.ErrorLevel:
|
case zapcore.ErrorLevel:
|
||||||
w.log.Error(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.Error(line)
|
||||||
|
}
|
||||||
case zapcore.DPanicLevel:
|
case zapcore.DPanicLevel:
|
||||||
w.log.DPanic(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.DPanic(line)
|
||||||
|
}
|
||||||
case zapcore.PanicLevel:
|
case zapcore.PanicLevel:
|
||||||
w.log.Panic(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.Panic(line)
|
||||||
|
}
|
||||||
case zapcore.FatalLevel:
|
case zapcore.FatalLevel:
|
||||||
w.log.Fatal(string(p))
|
for _, line := range strings.Split(string(p), "\n") {
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
if line == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.log.Fatal(line)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return len(p), nil
|
return len(p), nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user