add start announcement
This commit is contained in:
23
applog.go
23
applog.go
@@ -44,6 +44,9 @@ type AppLogOpts struct {
|
||||
// for slog. Generally recommended to manage logger via app lifecycle
|
||||
// instead of relying on globals.
|
||||
SetDefault bool
|
||||
|
||||
// Disables announcement of log module w/ log level on app start.
|
||||
DisableAnnouncement bool
|
||||
}
|
||||
|
||||
// Module creates a new Module instance.
|
||||
@@ -88,17 +91,29 @@ func setupLogger(lifecycle *app.Lifecycle, opts AppLogOpts) error {
|
||||
return err
|
||||
}
|
||||
|
||||
handlers = append(handlers, slog.NewJSONHandler(logfile, &slog.HandlerOptions{
|
||||
fileHandler := slog.NewJSONHandler(logfile, &slog.HandlerOptions{
|
||||
Level: opts.FileLevel,
|
||||
}))
|
||||
})
|
||||
|
||||
if !opts.DisableAnnouncement {
|
||||
slog.New(fileHandler).Info("Logger initialized", "level", opts.FileLevel.String(), "output", opts.FileOutput)
|
||||
}
|
||||
|
||||
handlers = append(handlers, fileHandler)
|
||||
}
|
||||
|
||||
// If log output is specified, set up pretty-printed console logging
|
||||
if opts.ConsoleOutput != nil {
|
||||
handlers = append(handlers, tint.NewHandler(opts.ConsoleOutput, &tint.Options{
|
||||
consoleHandler := tint.NewHandler(opts.ConsoleOutput, &tint.Options{
|
||||
Level: opts.ConsoleLevel,
|
||||
TimeFormat: time.Kitchen,
|
||||
}))
|
||||
})
|
||||
|
||||
if !opts.DisableAnnouncement {
|
||||
slog.New(consoleHandler).Info("Logger initialized", "level", opts.ConsoleLevel.String())
|
||||
}
|
||||
|
||||
handlers = append(handlers, consoleHandler)
|
||||
}
|
||||
|
||||
logger := slog.New(slogmulti.Fanout(handlers...))
|
||||
|
||||
Reference in New Issue
Block a user