85 lines
1.8 KiB
Go
85 lines
1.8 KiB
Go
package logger
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
// "runtime"
|
|
"time"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type LogFormatter struct {
|
|
}
|
|
|
|
func (lf *LogFormatter) Format(entry *logrus.Entry) ([]byte, error) {
|
|
var err error
|
|
timeStamp := time.Now().Format(time.RFC3339)
|
|
levelString := entry.Level.String()
|
|
labelString := ""
|
|
for key, value := range entry.Data {
|
|
labelString += fmt.Sprintf("<%s:%v>", key, value)
|
|
}
|
|
if labelString != "" {
|
|
message := fmt.Sprintf("%s %s %s [%s]\n", timeStamp, levelString,
|
|
labelString, entry.Message)
|
|
return []byte(message), err
|
|
}
|
|
message := fmt.Sprintf("%s %s [%s]\n", timeStamp, levelString, entry.Message)
|
|
return []byte(message), err
|
|
}
|
|
|
|
func init() {
|
|
logrus.SetOutput(os.Stdout)
|
|
logrus.SetFormatter(&LogFormatter{})
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
}
|
|
|
|
type Logger struct {
|
|
logrus *logrus.Entry
|
|
}
|
|
|
|
func NewLogger(label string) *Logger {
|
|
return &Logger{
|
|
logrus: logrus.WithField("object", label),
|
|
}
|
|
}
|
|
|
|
func (log *Logger) Errorf(format string, args ...any) {
|
|
// pc, _, line, _ := runtime.Caller(1)
|
|
// funcName := runtime.FuncForPC(pc).Name()
|
|
// log.logrus.Debugf("======== %s %d", funcName, line)
|
|
log.logrus.Errorf(format, args...)
|
|
}
|
|
|
|
func (log *Logger) Debugf(format string, args ...any) {
|
|
// pc, _, line, _ := runtime.Caller(1)
|
|
// funcName := runtime.FuncForPC(pc).Name()
|
|
// log.logrus.Debugf("======== %s %d", funcName, line)
|
|
log.logrus.Debugf(format, args...)
|
|
}
|
|
|
|
func (log *Logger) Warningf(format string, args ...any) {
|
|
log.logrus.Warningf(format, args...)
|
|
}
|
|
|
|
func (log *Logger) Infof(format string, args ...any) {
|
|
log.logrus.Infof(format, args...)
|
|
}
|
|
|
|
func (log *Logger) Error(args ...any) {
|
|
log.logrus.Error(args...)
|
|
}
|
|
|
|
func (log *Logger) Debug(args ...any) {
|
|
log.logrus.Debug(args...)
|
|
}
|
|
|
|
func (log *Logger) Warning(args ...any) {
|
|
log.logrus.Warning(args...)
|
|
}
|
|
|
|
func (log *Logger) Info(args ...any) {
|
|
log.logrus.Info(args...)
|
|
}
|