feat: complete settings

This commit is contained in:
engigu
2024-01-01 12:03:56 +08:00
parent 66b3a30a62
commit 4a1e663396
19 changed files with 242 additions and 155 deletions
+31 -2
View File
@@ -1,15 +1,44 @@
package logging
import (
"bytes"
"fmt"
"github.com/sirupsen/logrus"
"os"
"path/filepath"
)
var Logger = logrus.New()
type MyFormatter struct{}
func (m *MyFormatter) Format(entry *logrus.Entry) ([]byte, error) {
var b *bytes.Buffer
if entry.Buffer != nil {
b = entry.Buffer
} else {
b = &bytes.Buffer{}
}
timestamp := entry.Time.Format("2006-01-02 15:04:05")
var newLog string
//HasCaller()为true才会有调用信息
if entry.HasCaller() {
fName := filepath.Base(entry.Caller.File)
newLog = fmt.Sprintf("[%s] [%s] [%s:%d %s] %s\n",
timestamp, entry.Level, fName, entry.Caller.Line, entry.Caller.Function, entry.Message)
} else {
newLog = fmt.Sprintf("[%s] [%s] %s\n", timestamp, entry.Level, entry.Message)
}
b.WriteString(newLog)
return b.Bytes(), nil
}
func Setup() {
Logger := logrus.New()
Logger.SetFormatter(&logrus.JSONFormatter{})
Logger.SetReportCaller(true)
Logger.SetFormatter(&MyFormatter{})
Logger.SetOutput(os.Stdout)
Logger.SetLevel(logrus.InfoLevel)
}