feat: Add JSON logging format
All checks were successful
/ pre-commit (push) Successful in 1m17s

Fixes #40.

Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
Julien Riou 2025-10-02 07:35:48 +02:00
commit 2d8d7efbcb
Signed by: jriou
GPG key ID: 9A099EDA51316854
3 changed files with 24 additions and 3 deletions

View file

@ -27,6 +27,7 @@ func handleMain() int {
quiet := flag.Bool("quiet", false, "Log errors only")
verbose := flag.Bool("verbose", false, "Print more logs")
debug := flag.Bool("debug", false, "Print even more logs")
jsonFormat := flag.Bool("json", false, "Print logs in JSON format")
configFileName := flag.String("config", "", "Configuration file name")
flag.Parse()
@ -46,7 +47,13 @@ func handleMain() int {
if *quiet {
level = slog.LevelError
}
logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: level}))
var logger *slog.Logger
if *jsonFormat {
logger = slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: level}))
} else {
logger = slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: level}))
}
if *configFileName != "" {
err = internal.ReadConfig(*configFileName, config)