mirror of
https://github.com/SunBK201/UA3F.git
synced 2025-12-16 16:57:08 +00:00
58 lines
1.3 KiB
Go
58 lines
1.3 KiB
Go
package log
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"io"
|
|
"log"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type uctFormatter struct {
|
|
}
|
|
|
|
func (formatter *uctFormatter) Format(entry *logrus.Entry) ([]byte, error) {
|
|
var b *bytes.Buffer
|
|
if entry.Buffer != nil {
|
|
b = entry.Buffer
|
|
} else {
|
|
b = &bytes.Buffer{}
|
|
}
|
|
formatTime := entry.Time.Format("2006-01-02 15:04:05")
|
|
b.WriteString(fmt.Sprintf("[%s][%s]: %s\n", formatTime, strings.ToUpper(entry.Level.String()), entry.Message))
|
|
return b.Bytes(), nil
|
|
}
|
|
|
|
func SetLogConf(level string) {
|
|
writer1 := &bytes.Buffer{}
|
|
writer2 := os.Stdout
|
|
writer3, err := os.OpenFile("/var/log/ua3f.log", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0755)
|
|
if err != nil {
|
|
log.Fatalf("create file ua3f.log failed: %v", err)
|
|
}
|
|
logrus.SetOutput(io.MultiWriter(writer1, writer2, writer3))
|
|
formatter := &uctFormatter{}
|
|
logrus.SetFormatter(formatter)
|
|
switch level {
|
|
case "trace":
|
|
logrus.SetLevel(logrus.TraceLevel)
|
|
case "debug":
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
case "info":
|
|
logrus.SetLevel(logrus.InfoLevel)
|
|
case "warn":
|
|
logrus.SetLevel(logrus.WarnLevel)
|
|
case "error":
|
|
logrus.SetLevel(logrus.ErrorLevel)
|
|
case "fatal":
|
|
logrus.SetLevel(logrus.FatalLevel)
|
|
case "panic":
|
|
logrus.SetLevel(logrus.PanicLevel)
|
|
default:
|
|
logrus.SetLevel(logrus.InfoLevel)
|
|
}
|
|
}
|