feat: respect pvr exclusions (#37)

This commit is contained in:
l3uddz
2022-04-14 16:18:06 +01:00
committed by GitHub
parent 2468d5b251
commit 79507adb4a
32 changed files with 321 additions and 99 deletions

70
logger/options.go Normal file
View File

@@ -0,0 +1,70 @@
package logger
import (
"os"
"time"
"github.com/natefinch/lumberjack"
"github.com/rs/zerolog"
)
/* core logger options */
type InitOption func(*logger)
func WithConsole() InitOption {
return func(l *logger) {
l.writers = append(l.writers, zerolog.ConsoleWriter{
TimeFormat: time.Stamp,
Out: os.Stderr,
})
}
}
func WithFile(filepath string) InitOption {
return func(l *logger) {
l.writers = append(l.writers, zerolog.ConsoleWriter{
TimeFormat: time.Stamp,
Out: &lumberjack.Logger{
Filename: filepath,
MaxSize: 5,
MaxAge: 14,
MaxBackups: 5,
},
NoColor: true,
})
}
}
func WithVerbosity(verbosity int) InitOption {
return func(l *logger) {
l.verbosity = verbosity
}
}
/* child logger options */
type ChildOption func(*zerolog.Logger)
func WithName(name string) ChildOption {
return func(l *zerolog.Logger) {
*l = l.With().
Str("caller", name).
Logger()
}
}
func WithLevel(level string) ChildOption {
return func(l *zerolog.Logger) {
if level == "" {
return
}
zl, err := zerolog.ParseLevel(level)
if err != nil {
return
}
*l = l.Level(zl)
}
}