feat: add backend

This commit is contained in:
Ludvig Lundgren 2021-08-11 15:26:17 +02:00
parent bc418ff248
commit a838d994a6
68 changed files with 9561 additions and 0 deletions

52
internal/logger/logger.go Normal file
View file

@ -0,0 +1,52 @@
package logger
import (
"io"
"os"
"time"
"github.com/autobrr/autobrr/internal/config"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"gopkg.in/natefinch/lumberjack.v2"
)
func Setup(cfg config.Cfg) {
zerolog.TimeFieldFormat = time.RFC3339
switch cfg.LogLevel {
case "INFO":
zerolog.SetGlobalLevel(zerolog.InfoLevel)
case "DEBUG":
zerolog.SetGlobalLevel(zerolog.DebugLevel)
case "ERROR":
zerolog.SetGlobalLevel(zerolog.ErrorLevel)
case "WARN":
zerolog.SetGlobalLevel(zerolog.WarnLevel)
default:
zerolog.SetGlobalLevel(zerolog.ErrorLevel)
}
// setup console writer
consoleWriter := zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339}
writers := io.MultiWriter(consoleWriter)
// if logPath set create file writer
if cfg.LogPath != "" {
fileWriter := &lumberjack.Logger{
Filename: cfg.LogPath,
MaxSize: 100, // megabytes
MaxBackups: 3,
}
// overwrite writers
writers = io.MultiWriter(consoleWriter, fileWriter)
}
log.Logger = log.Output(writers)
log.Print("Starting autobrr")
log.Printf("Log-level: %v", cfg.LogLevel)
}