mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00

* refactor: update http handlers * feat: add trace log level * refactir: irc handler * refactor(definitions): add irc settings and invite cmd: * feat: add dft values to inputs * refactor: indexer irc forms * refactor(definitions): fix nickserv.password var: * feat: pre fill indexer name field * refactor: handle stopping and updates
54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package logger
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"time"
|
|
|
|
"github.com/autobrr/autobrr/internal/domain"
|
|
|
|
"github.com/rs/zerolog"
|
|
"github.com/rs/zerolog/log"
|
|
"gopkg.in/natefinch/lumberjack.v2"
|
|
)
|
|
|
|
func Setup(cfg domain.Config) {
|
|
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)
|
|
case "TRACE":
|
|
zerolog.SetGlobalLevel(zerolog.TraceLevel)
|
|
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)
|
|
}
|