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
|
// for slog. Generally recommended to manage logger via app lifecycle
|
||||||
// instead of relying on globals.
|
// instead of relying on globals.
|
||||||
SetDefault bool
|
SetDefault bool
|
||||||
|
|
||||||
|
// Disables announcement of log module w/ log level on app start.
|
||||||
|
DisableAnnouncement bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// Module creates a new Module instance.
|
// Module creates a new Module instance.
|
||||||
@@ -88,17 +91,29 @@ func setupLogger(lifecycle *app.Lifecycle, opts AppLogOpts) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
handlers = append(handlers, slog.NewJSONHandler(logfile, &slog.HandlerOptions{
|
fileHandler := slog.NewJSONHandler(logfile, &slog.HandlerOptions{
|
||||||
Level: opts.FileLevel,
|
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 log output is specified, set up pretty-printed console logging
|
||||||
if opts.ConsoleOutput != nil {
|
if opts.ConsoleOutput != nil {
|
||||||
handlers = append(handlers, tint.NewHandler(opts.ConsoleOutput, &tint.Options{
|
consoleHandler := tint.NewHandler(opts.ConsoleOutput, &tint.Options{
|
||||||
Level: opts.ConsoleLevel,
|
Level: opts.ConsoleLevel,
|
||||||
TimeFormat: time.Kitchen,
|
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...))
|
logger := slog.New(slogmulti.Fanout(handlers...))
|
||||||
|
|||||||
Reference in New Issue
Block a user