164f5bea34dd4e66a504d30209f2bb2ac850761d
Co-authored-by: Cursor <cursoragent@cursor.com>
applog
Opinionated slog wiring for go-toolkit app lifecycles.
Install
go get gitea.auvem.com/go-toolkit/applog
Usage
lifecycle := app.NewLifecycle(applog.AppLogOpts{
ConsoleOutput: os.Stderr,
ConsoleLevel: slog.LevelInfo,
FileOutput: "/var/log/myapp.log",
FileLevel: slog.LevelInfo,
}.Module())
Outputs
| Sink | Format | Default level |
|---|---|---|
Console (ConsoleOutput) |
tint (human-readable) | Info |
File (FileOutput) |
JSON lines | Info |
Teardown
On teardown the log file is closed and the lifecycle logger falls back to console-only (or discard). Logging via lifecycle.Logger() after teardown does not write to a closed file.
Migration from pre-V1 API
| Before | After |
|---|---|
applog.Module(opts) |
opts.Module() |
LogOutput |
ConsoleOutput |
LogFile |
FileOutput |
Verbose bool |
ConsoleLevel: slog.LevelDebug |
Description
Languages
Go
100%