mirror of
https://github.com/getAlby/hub.git
synced 2026-08-13 12:33:39 +02:00
56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
package logger
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strconv"
|
|
|
|
"github.com/orandin/lumberjackrus"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
const (
|
|
logDir = "log"
|
|
logFilename = "nwc.log"
|
|
)
|
|
|
|
var Logger *logrus.Logger
|
|
var logFilePath string
|
|
|
|
func Init(logLevel string) {
|
|
Logger = logrus.New()
|
|
Logger.SetFormatter(&logrus.JSONFormatter{})
|
|
Logger.SetOutput(os.Stdout)
|
|
logrusLogLevel, err := strconv.Atoi(logLevel)
|
|
if err != nil {
|
|
logrusLogLevel = int(logrus.InfoLevel)
|
|
}
|
|
Logger.SetLevel(logrus.Level(logrusLogLevel))
|
|
if logrusLogLevel >= int(logrus.DebugLevel) {
|
|
Logger.ReportCaller = true
|
|
Logger.Debug("Logrus report caller enabled in debug mode")
|
|
}
|
|
}
|
|
|
|
func AddFileLogger(workdir string) error {
|
|
logFilePath = filepath.Join(workdir, logDir, logFilename)
|
|
fileLoggerHook, err := lumberjackrus.NewHook(
|
|
&lumberjackrus.LogFile{
|
|
Filename: logFilePath,
|
|
MaxAge: 3,
|
|
MaxBackups: 3,
|
|
},
|
|
logrus.InfoLevel,
|
|
&logrus.JSONFormatter{},
|
|
nil,
|
|
)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
Logger.AddHook(fileLoggerHook)
|
|
return nil
|
|
}
|
|
|
|
func GetLogFilePath() string {
|
|
return logFilePath
|
|
}
|