2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 04:22:33 +08:00
Files
panel/internal/bootstrap/logger.go
2026-01-12 20:35:58 +08:00

36 lines
673 B
Go

package bootstrap
import (
"log/slog"
"path/filepath"
"github.com/DeRuina/timberjack"
"github.com/acepanel/panel/internal/app"
"github.com/acepanel/panel/pkg/config"
)
func NewLog(conf *config.Config) *slog.Logger {
tjLogger := &timberjack.Logger{
Filename: filepath.Join(app.Root, "panel/storage/logs/app.log"),
MaxSize: 10,
MaxAge: 30,
LocalTime: true,
RotateAt: []string{"00:00"},
FileMode: 0o600,
Compression: "none",
}
level := slog.LevelInfo
if conf.App.Debug {
level = slog.LevelDebug
}
log := slog.New(slog.NewJSONHandler(tjLogger, &slog.HandlerOptions{
Level: level,
}))
slog.SetDefault(log)
return log
}