Labels: type:feature, area:cli, priority:high,
status:blocked, milestone:M1, phase:1
Summary
Configure log/slog (Go 1.21+ stdlib) as the project-wide logger, with
JSON output by default and human-readable when --log-format=text.
Acceptance criteria
Implementation notes
Use only log/slog from the standard library — no third-party logging
libraries. Format the JSON to include time, level, msg, and any
structured fields.
Dependencies
Depends on: #5
Verification
./forkguard --log-format=text ingest 2>&1 | grep "not implemented"
./forkguard --log-format=json ingest 2>&1 | jq .level
Labels:
type:feature,area:cli,priority:high,status:blocked,milestone:M1,phase:1Summary
Configure
log/slog(Go 1.21+ stdlib) as the project-wide logger, withJSON output by default and human-readable when
--log-format=text.Acceptance criteria
internal/logging/logging.goexposesSetup(format, level string) *slog.Loggerformat=textslog.SetDefault()PersistentPreRunEsetup works
Implementation notes
Use only
log/slogfrom the standard library — no third-party logginglibraries. Format the JSON to include
time,level,msg, and anystructured fields.
Dependencies
Depends on: #5
Verification