# dotnet/runtime v9.0.5 Microsoft.Extensions.Logging.Console: SimpleConsoleFormatter.cs with SingleLine, and SystemdConsoleFormatter.cs
# levels as the OpenTelemetry log data model maps Trace, Debug, Information, Warning, Error and Critical
# captured: the simple formatter with SingleLine, without and with a TimestampFormat
trce: MyApp.Db[0] trace message ⇒ {"rule": "mel", "level": "trace", "name": "MyApp.Db", "message": "trace message"}
dbug: MyApp.Db[0] debug message ⇒ {"rule": "mel", "level": "debug", "name": "MyApp.Db", "message": "debug message"}
info: MyApp.Db[0] info message ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": "info message"}
warn: MyApp.Db[0] warning message ⇒ {"rule": "mel", "level": "warn", "name": "MyApp.Db", "message": "warning message"}
fail: MyApp.Db[0] error message ⇒ {"rule": "mel", "level": "error", "name": "MyApp.Db", "message": "error message"}
crit: MyApp.Db[0] critical message ⇒ {"rule": "mel", "level": "critical", "name": "MyApp.Db", "message": "critical message"}
info: MyApp.Db[42] with event id ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": "with event id"}
2026-10-21 17:23:36 trce: MyApp.Db[0] trace message ⇒ {"rule": "mel", "level": "trace", "name": "MyApp.Db", "message": "trace message"}
2026-10-21 17:23:36 fail: MyApp.Db[0] error message ⇒ {"rule": "mel", "level": "error", "name": "MyApp.Db", "message": "error message"}
2026-10-21 17:23:36 info: MyApp.Db[0] two line message ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": "two line message"}
# captured: the systemd formatter, whose syslog priority prints Trace and Debug both as <7>
<7>MyApp.Db[0] trace message ⇒ {"rule": "mel", "level": "debug", "name": "MyApp.Db", "message": "trace message"}
<7>MyApp.Db[0] debug message ⇒ {"rule": "mel", "level": "debug", "name": "MyApp.Db", "message": "debug message"}
<6>MyApp.Db[0] info message ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": "info message"}
<4>MyApp.Db[0] warning message ⇒ {"rule": "mel", "level": "warn", "name": "MyApp.Db", "message": "warning message"}
<3>MyApp.Db[0] error message ⇒ {"rule": "mel", "level": "error", "name": "MyApp.Db", "message": "error message"}
<2>MyApp.Db[0] critical message ⇒ {"rule": "mel", "level": "critical", "name": "MyApp.Db", "message": "critical message"}
<6>MyApp.Db[42] with event id ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": "with event id"}
# other timestamp formats, scopes, a negative event id, and a systemd record with no message
# constructed 17:23:36 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5000 ⇒ {"rule": "mel", "level": "info", "name": "Microsoft.Hosting.Lifetime", "message": "Now listening on: http://localhost:5000"}
# constructed [17:23:36] warn: MyApp.Db[0] slow query ⇒ {"rule": "mel", "level": "warn", "name": "MyApp.Db", "message": "slow query"}
# constructed 2026-10-21T17:23:36.123Z crit: MyApp.Db[0] disk gone ⇒ {"rule": "mel", "level": "critical", "name": "MyApp.Db", "message": "disk gone"}
# constructed info: MyApp.Db[0] => RequestId:42 => GET /items request done ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": "=> RequestId:42 => GET /items request done"}
# constructed fail: MyApp.Db[-1] negative event id ⇒ {"rule": "mel", "level": "error", "name": "MyApp.Db", "message": "negative event id"}
# constructed <6>MyApp.Db[0] ⇒ {"rule": "mel", "level": "info", "name": "MyApp.Db", "message": ""}
# constructed info: MyApp.Pump[0] rail=13.65V ⇒ {"rule": "mel+kv", "level": "info", "name": "MyApp.Pump", "message": "rail=13.65V", "values": [["rail", 13.65, "V"]]}
# the two-line form's header, syslog's own priority prefix, and words that only look like a level
info: MyApp.Db[0] ⇒ {"rule": "mel-header", "level": "info", "name": "MyApp.Db", "message": ""}
# constructed <6>Oct 21 14:03:01 bench-1 pump[42]: started ⇒ {"rule": "syslog", "level": "info", "name": "pump", "message": "started"}
# constructed <6>disk almost full ⇒ {"rule": "syslog", "level": "info", "name": "", "message": "disk almost full"}
# constructed <5>MyApp.Db[0] notice is a priority Microsoft never prints ⇒ {"rule": "syslog", "level": "info", "name": "", "message": "MyApp.Db[0] notice is a priority Microsoft never prints"}
# constructed info: see the manual ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "info: see the manual"}
# constructed fail: 3 tests ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "fail: 3 tests"}
# constructed failed: MyApp.Db[0] not a level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "failed: MyApp.Db[0] not a level"}
# constructed INFO: MyApp.Db[0] upper case is another format ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "MyApp.Db[0] upper case is another format"}
# constructed info: MyApp.Db [0] a space before the event id ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "info: MyApp.Db [0] a space before the event id"}
# constructed info: MyApp.Db[x] not an event id ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "info: MyApp.Db[x] not an event id"}
# constructed <8>MyApp.Db[0] a facility, not a level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "<8>MyApp.Db[0] a facility, not a level"}
