# NATS server v2.10.22 logger/log.go: pidPrefix "[%d] ", the time "%04d/%02d/%02d %02d:%02d:%02d.%06d " (log.LstdFlags|log.Lmicroseconds), then the labels "[INF] " "[DBG] " "[TRC] " "[WRN] " "[ERR] " "[FTL] "
# Lines from Elastic beats v9.5.5 filebeat/module/nats/log/test
[1] 2019/02/06 07:19:40.624334 [INF] Starting nats-server version 1.3.0 ⇒ {"rule": "nats", "level": "info", "leveled": true, "name": "", "message": "Starting nats-server version 1.3.0", "prefixed": true}
[1] 2019/02/06 07:19:40.624547 [INF] Git commit [eed4fbc] ⇒ {"rule": "nats", "level": "info", "name": "", "message": "Git commit [eed4fbc]"}
[1] 2019/02/06 07:19:40.624690 [INF] Server is ready ⇒ {"rule": "nats", "level": "info", "name": "", "message": "Server is ready"}
[1] 2019/02/06 07:20:08.508891 [DBG] 172.18.0.1:38630 - cid:1 - Client connection created ⇒ {"rule": "nats", "level": "debug", "name": "", "message": "172.18.0.1:38630 - cid:1 - Client connection created"}
[1] 2019/02/06 07:20:08.512052 [TRC] 172.18.0.1:38630 - cid:1 - ->> [SUB foo  1] ⇒ {"rule": "nats", "level": "trace", "name": "", "message": "172.18.0.1:38630 - cid:1 - ->> [SUB foo  1]"}
[1] 2019/02/06 07:20:08.512128 [TRC] 172.18.0.1:38630 - cid:1 - ->> [PING] ⇒ {"rule": "nats", "level": "trace", "name": "", "message": "172.18.0.1:38630 - cid:1 - ->> [PING]"}
[1] 2019/02/06 07:20:08.512153 [TRC] 172.18.0.1:38630 - cid:1 - <<- [PONG] ⇒ {"rule": "nats", "level": "trace", "name": "", "message": "172.18.0.1:38630 - cid:1 - <<- [PONG]"}
[1] 2019/02/04 15:40:02.717825 [TRC] 50.39.246.116:62388 - cid:3 - ->> MSG_PAYLOAD: [peer, are you alive?] ⇒ {"rule": "nats", "level": "trace", "name": "", "message": "50.39.246.116:62388 - cid:3 - ->> MSG_PAYLOAD: [peer, are you alive?]"}
[1] 2019/02/04 15:40:02.718023 [TRC] 192.168.176.11:36262 - cid:4 - ->> MSG_PAYLOAD: [I am fine, agent!] ⇒ {"rule": "nats", "level": "trace", "name": "", "message": "192.168.176.11:36262 - cid:4 - ->> MSG_PAYLOAD: [I am fine, agent!]"}
[1] 2019/02/16 07:20:08.512153 [TRC] 172.18.0.1:38630 - cid:1 - <<- [OK] ⇒ {"rule": "nats", "level": "trace", "name": "", "message": "172.18.0.1:38630 - cid:1 - <<- [OK]"}
# constructed [812] 2026/10/21 14:03:01.123456 [WRN] 10.0.0.5:51234 - cid:7 - Readloop processing time: 2.5s ⇒ {"rule": "nats", "level": "warn", "name": "", "message": "10.0.0.5:51234 - cid:7 - Readloop processing time: 2.5s"}
# constructed [812] 2026/10/21 14:03:01.123456 [ERR] 10.0.0.5:51234 - cid:7 - authentication error ⇒ {"rule": "nats", "level": "error", "name": "", "message": "10.0.0.5:51234 - cid:7 - authentication error"}
# constructed [812] 2026/10/21 14:03:01.123456 [FTL] Error listening on port: 0.0.0.0:4222, "address already in use" ⇒ {"rule": "nats", "level": "critical", "name": "", "message": "Error listening on port: 0.0.0.0:4222, \"address already in use\""}
# the time and the pid are each optional
# constructed 2026/10/21 14:03:01.123456 [INF] Server is ready ⇒ {"rule": "nats", "level": "info", "name": "", "message": "Server is ready"}
# constructed [812] [ERR] no time ⇒ {"rule": "nats", "level": "error", "name": "", "message": "no time"}
# constructed 2026/10/21 14:03:01.123456 [DBG] 10.0.0.5:51234 - cid:7 - Client Ping Timer ⇒ {"rule": "nats", "level": "debug", "name": "", "message": "10.0.0.5:51234 - cid:7 - Client Ping Timer"}
# with neither, the label alone is a level word; other shapes are other formats
# constructed [INF] Server is ready ⇒ {"rule": "level-word", "level": "info", "message": "Server is ready"}
# constructed [TRC] no prefix ⇒ {"rule": "level-word", "level": "trace", "message": "no prefix"}
# constructed [812] 2026/10/21 14:03:01 [INF] no microseconds ⇒ {"rule": "go-log", "level": "info", "leveled": true, "message": "no microseconds"}
# constructed [812] 2026/10/21 14:03:01.123456 [INFO] a word, not a label ⇒ {"rule": "go-log", "level": "info", "leveled": true, "message": "a word, not a label"}
# constructed [812] 2026/10/21 14:03:01.123456 [inf] lower case ⇒ {"rule": "go-log", "level": "info", "leveled": false, "message": "[inf] lower case"}
# constructed 2026/10/21 14:03:01.123456 [INF]no space ⇒ {"rule": "go-log", "level": "info", "leveled": false, "message": "[INF]no space"}
# constructed 2026/10/21 14:03:01.123456 INFO no label ⇒ {"rule": "go-log", "level": "info", "message": "no label"}
# constructed [812] [2026/10/21 14:03:01.123456] [INF] bracketed time ⇒ {"rule": "layout", "level": "info", "message": "bracketed time"}
# constructed [abc] 2026/10/21 14:03:01.123456 [INF] pid is not a number ⇒ {"rule": "go-log", "level": "info", "leveled": true, "name": "abc", "message": "pid is not a number"}
2016/10/25 14:49:34 [error] 54053#0: *1 open() "/usr/local/Cellar/nginx/1.10.2_1/html/favicon.ico" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/" ⇒ {"rule": "nginx", "level": "error", "message": "*1 open() \"/usr/local/Cellar/nginx/1.10.2_1/html/favicon.ico\" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /favicon.ico HTTP/1.1\", host: \"localhost:8080\", referrer: \"http://localhost:8080/\""}
[2932] 31 May 04:32:08 * Server started, Redis version 2.4.6 ⇒ {"rule": "redis", "level": "info", "message": "Server started, Redis version 2.4.6"}
