# node-bunyan 1.8.15 bin/bunyan emitRecord, the CLI's default `long` output:
# "[time] LEVEL: name[/comp]/pid on hostname (src): msg (extras...)", the level right-aligned to 5
# captured: bunyan 1.8.15's CLI over the library's JSON, the hostname replaced
[2026-10-22T00:18:03.322Z] TRACE: app.db/52111 on host: trace message ⇒ {"rule": "bunyan", "level": "trace", "name": "app.db", "message": "trace message"}
[2026-10-22T00:18:03.323Z] DEBUG: app.db/52111 on host: debug message ⇒ {"rule": "bunyan", "level": "debug", "name": "app.db", "message": "debug message"}
[2026-10-22T00:18:03.323Z]  INFO: app.db/52111 on host: info message ⇒ {"rule": "bunyan", "level": "info", "name": "app.db", "message": "info message"}
[2026-10-22T00:18:03.323Z]  WARN: app.db/52111 on host: warning message ⇒ {"rule": "bunyan", "level": "warn", "name": "app.db", "message": "warning message"}
[2026-10-22T00:18:03.323Z] ERROR: app.db/52111 on host: error message ⇒ {"rule": "bunyan", "level": "error", "name": "app.db", "message": "error message"}
[2026-10-22T00:18:03.323Z] FATAL: app.db/52111 on host: fatal message ⇒ {"rule": "bunyan", "level": "critical", "name": "app.db", "message": "fatal message"}
[2026-10-22T00:18:03.323Z]  INFO: app.db/52111 on host: with fields (user=bob) ⇒ {"rule": "bunyan", "level": "info", "name": "app.db", "message": "with fields (user=bob)"}
[2026-10-22T00:18:03.323Z] ERROR: app.db/52111 on host: failed with exception ⇒ {"rule": "bunyan", "level": "error", "name": "app.db", "message": "failed with exception"}
# a component, the src option, a request id, and a message that went to the lines below
# constructed [2026-10-22T00:18:03.323Z]  INFO: app/db/52111 on host: with a component ⇒ {"rule": "bunyan", "level": "info", "name": "app/db", "message": "with a component"}
# constructed [2026-10-22T00:18:03.323Z]  WARN: app.db/52111 on host (/srv/acme/main.js:12 in poll): slow ⇒ {"rule": "bunyan", "level": "warn", "name": "app.db", "message": "slow", "file": "/srv/acme/main.js", "line": 12}
# constructed [2026-10-22T00:18:03.323Z]  WARN: app.db/52111 on host (/srv/acme/main.js:12): slow ⇒ {"rule": "bunyan", "level": "warn", "name": "app.db", "message": "slow", "file": "/srv/acme/main.js", "line": 12}
# constructed [2026-10-22T00:18:03.323Z]  INFO: app.db/52111 on host: handled (req_id=42) ⇒ {"rule": "bunyan+kv", "level": "info", "name": "app.db", "message": "handled (req_id=42)", "values": [["req_id", 42.0, null]]}
# constructed [2026-10-22T00:18:03.323Z]  INFO: app.db/52111 on host: ⇒ {"rule": "bunyan", "level": "info", "name": "app.db", "message": ""}
# constructed [2026-10-22T00:18:03.323Z]  INFO: app.db/52111 on <no-hostname>: no hostname ⇒ {"rule": "bunyan", "level": "info", "name": "app.db", "message": "no hostname"}
# constructed [2026-10-22T00:18:03.323Z]  INFO: pump/52111 on host: rail=13.65V ⇒ {"rule": "bunyan+kv", "level": "info", "name": "pump", "message": "rail=13.65V", "values": [["rail", 13.65, "V"]]}
# the CLI's short and simple outputs, which the layout rule reads, the lines it prints below, and lines that only look like it
00:18:03.378Z TRACE app.db: trace message ⇒ {"rule": "layout", "level": "trace", "name": "app.db", "message": "trace message"}
00:18:03.378Z  INFO app.db: info message ⇒ {"rule": "layout", "level": "info", "name": "app.db", "message": "info message"}
TRACE - trace message ⇒ {"rule": "level-word", "level": "trace", "message": "trace message"}
    Error: boom ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "    Error: boom"}
{"name":"app.db","hostname":"host","pid":52064,"level":30,"msg":"info message","time":"2026-10-22T00:17:59.966Z","v":0} ⇒ {"rule": "json", "level": "info", "name": "app.db", "message": "info message"}
# constructed [2026-10-22T00:18:03.323Z] LVL35: app.db/52111 on host: a level of its own ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "[2026-10-22T00:18:03.323Z] LVL35: app.db/52111 on host: a level of its own"}
# constructed [2026-10-22T00:18:03.323Z]  INFO: app.db on host: no pid ⇒ {"rule": "layout", "level": "info", "name": "", "message": "app.db on host: no pid"}
# constructed [2026-10-22T00:18:03.323Z]  INFO: app.db/52111: no host ⇒ {"rule": "layout", "level": "info", "name": "app.db/52111", "message": "no host"}
# constructed [2026-10-22T00:18:03.323Z] info: app.db/52111 on host: lower case ⇒ {"rule": "layout", "level": "info", "message": "app.db/52111 on host: lower case"}
# constructed [12:00:00]  INFO: app.db/52111 on host: not a bunyan time ⇒ {"rule": "layout", "level": "info", "message": "app.db/52111 on host: not a bunyan time"}
