feat: improve db logic and logger(untested)
Some checks failed
build / build (push) Failing after 2m48s
Some checks failed
build / build (push) Failing after 2m48s
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"io"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"gopkg.in/natefinch/lumberjack.v2"
|
||||
)
|
||||
|
||||
type Logger struct {
|
||||
@@ -10,13 +14,28 @@ type Logger struct {
|
||||
}
|
||||
|
||||
func New(debug bool) *Logger {
|
||||
logDir := "/var/log/banforge"
|
||||
if err := os.MkdirAll(logDir, 0755); err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
fileWriter := &lumberjack.Logger{
|
||||
Filename: filepath.Join(logDir, "banforge.log"),
|
||||
MaxSize: 500,
|
||||
MaxBackups: 3,
|
||||
MaxAge: 28,
|
||||
Compress: true,
|
||||
}
|
||||
|
||||
var level slog.Level
|
||||
if debug {
|
||||
level = slog.LevelDebug
|
||||
} else {
|
||||
level = slog.LevelInfo
|
||||
}
|
||||
handler := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
|
||||
multiWriter := io.MultiWriter(fileWriter, os.Stdout)
|
||||
|
||||
handler := slog.NewTextHandler(multiWriter, &slog.HandlerOptions{
|
||||
Level: level,
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user