47 lines
993 B
Go
47 lines
993 B
Go
package main
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/snowzach/rotatefilehook"
|
|
"gitstore.ru/tolikproh/sirius/internal/model"
|
|
)
|
|
|
|
func NewLogger(cfg *model.Config) *logrus.Logger {
|
|
|
|
logFile := "sirius_server.log"
|
|
|
|
log := logrus.New()
|
|
|
|
logLevel := model.ValidLogLevel(cfg)
|
|
|
|
log.SetLevel(logLevel)
|
|
|
|
rotateFileHook, err := rotatefilehook.NewRotateFileHook(rotatefilehook.RotateFileConfig{
|
|
Filename: cfg.Srv.LogPath + "/" + logFile,
|
|
MaxSize: 1, // megabytes
|
|
MaxBackups: 7, // amouts
|
|
MaxAge: 1, //days
|
|
Level: logLevel,
|
|
Formatter: &logrus.JSONFormatter{},
|
|
})
|
|
|
|
if err != nil {
|
|
logrus.Fatalf("Failed to initialize file rotate hook: %v", err)
|
|
}
|
|
|
|
//log.SetOutput(colorable.NewColorableStdout())
|
|
log.SetOutput(io.Discard)
|
|
// log.SetFormatter(&logrus.TextFormatter{
|
|
// PadLevelText: true,
|
|
// ForceColors: true,
|
|
// FullTimestamp: true,
|
|
// TimestampFormat: "2006-01-02 15:04:05",
|
|
// })
|
|
|
|
log.AddHook(rotateFileHook)
|
|
|
|
return log
|
|
}
|