Commands
An Artisan command that ran: which one, with which arguments, how long it took and what it exited with.

Turning it on
LB_TRACK_COMMANDS=true
Then accept Commands on the application.
What is ignored
'ignore' => [
'schedule:run',
'schedule:finish',
'schedule:work',
'queue:work',
'queue:listen',
'horizon',
'horizon:*',
'larabug:*',
'list',
'tinker',
],
The plumbing. A queue:work that runs for a week is one command run, and it would tell you nothing that the queue jobs it processed do not. * is the only wildcard.
A command run by the scheduler is left to the schedule, so it is recorded once, as a scheduled task, rather than twice.
What is recorded
The command and its arguments, the exit code, the duration, the peak memory, the host it ran on, and the trace id, which is what ties a command to the logs and exceptions it produced.
Arguments
'redact' => [
'password',
'secret',
'token',
'key',
],
Arguments and options are recorded, because php artisan users:export --since=2026-01-01 is a different event from php artisan users:export. Any option whose name contains one of these words has its value replaced before the event is built.
Batching
commands.batch_size is twenty and commands.max_retries is two. A command that runs for hours reports when it exits, not while it runs.