Advanced logging with slog. by trulede · Pull Request #2617 · go-task/task

Advanced logging with slog.

$ task test --log=json --verbose
{"time":"2026-01-04T16:08:39.592831048+01:00","level":"VERBOSE","msg":"task: \"test\" started\n"}
{"time":"2026-01-04T16:08:39.592944607+01:00","level":"TASK","msg":"Task started","task":"test","action":"start","hash":"6918201770935703603"}
{"time":"2026-01-04T16:08:39.593899444+01:00","level":"VERBOSE","msg":"task: \"gotestsum:install\" started\n"}
{"time":"2026-01-04T16:08:39.593917175+01:00","level":"TASK","msg":"Task started","task":"gotestsum:install","action":"start","hash":"4395592628618886232"}
{"time":"2026-01-04T16:08:39.594012859+01:00","level":"VERBOSE","msg":"task: status command command -v gotestsum exited zero\n"}
{"time":"2026-01-04T16:08:39.594020828+01:00","level":"INFO","msg":"task: Task \"gotestsum:install\" is up to date\n"}
{"time":"2026-01-04T16:08:39.594024195+01:00","level":"TASK","msg":"Task finished","task":"gotestsum:install","action":"finish","hash":"4395592628618886232","duration":"105.831µs","error":null}
{"time":"2026-01-04T16:08:39.613659358+01:00","level":"INFO","msg":"task: [test] gotestsum -f 'pkgname' ./...\n"}
{"time":"2026-01-04T16:08:39.616214278+01:00","level":"TASK","msg":"Command started","task":"test","command":"gotestsum -f 'pkgname' ./...","action":"start","hash":"6918201770935703603"}
{"time":"2026-01-04T16:08:43.562842614+01:00","level":"TASK","msg":"Command finished","task":"test","command":"gotestsum -f 'pkgname' ./...","action":"finish","hash":"6918201770935703603","duration":"3.946629712s","error":null,"stdout":"... DONE 564 tests in 1.965s\n","stderr":""}
{"time":"2026-01-04T16:08:43.562897846+01:00","level":"VERBOSE","msg":"task: \"test\" finished\n"}
{"time":"2026-01-04T16:08:43.562901043+01:00","level":"TASK","msg":"Task finished","task":"test","action":"finish","hash":"6918201770935703603","duration":"3.969956812s","error":null}

$ task test --log=json --silent
{"time":"2026-01-04T16:10:10.644697829+01:00","level":"TASK","msg":"Task started","task":"test","action":"start","hash":"6918201770935703603"}
{"time":"2026-01-04T16:10:10.646072248+01:00","level":"TASK","msg":"Task started","task":"gotestsum:install","action":"start","hash":"4395592628618886232"}
{"time":"2026-01-04T16:10:10.646184868+01:00","level":"TASK","msg":"Task finished","task":"gotestsum:install","action":"finish","hash":"4395592628618886232","duration":"112.044µs","error":null}
{"time":"2026-01-04T16:10:10.669405841+01:00","level":"TASK","msg":"Command started","task":"test","command":"gotestsum -f 'pkgname' ./...","action":"start","hash":"6918201770935703603"}
{"time":"2026-01-04T16:10:14.711063899+01:00","level":"TASK","msg":"Command finished","task":"test","command":"gotestsum -f 'pkgname' ./...","action":"finish","hash":"6918201770935703603","duration":"4.041646141s","error":null,"stdout":"... DONE 564 tests in 1.965s\n","stderr":""}
{"time":"2026-01-04T16:10:14.711171123+01:00","level":"TASK","msg":"Task finished","task":"test","action":"finish","hash":"6918201770935703603","duration":"4.066485991s","error":null}