Plain-Text Log — ANSI Colour Codes in the Stream (log)
A developer-mode log where the level and service are wrapped in ANSI colour codes, ending with one uncoloured line. Colour codes sit inside the field a parser wants to read, so level extraction fails unless the sequences are stripped first — the classic symptom of a container run without a TTY check.
[2m2026-03-17T09:14:32.850Z[0m [32mINFO [0m [36mcheckout-api[0m POST /api/checkout started
[2m2026-03-17T09:14:32.856Z[0m [34mDEBUG[0m [36mcheckout-api[0m pricing 3 line items
[2m2026-03-17T09:14:32.998Z[0m [33mWARN [0m [36mcheckout-api[0m downstream call took [1m71ms[0m, budget is 50ms
[2m2026-03-17T09:14:34.921Z[0m [31mERROR[0m [36mpayments-api[0m upstream timed out after [1;31m2.0s[0m
[2m2026-03-17T09:14:34.930Z[0m [32mINFO [0m [36mcheckout-api[0m POST /api/checkout completed [31mstatus=500[0m
2026-03-17T09:14:35.104Z INFO checkout-api this line carries no colour codes at all
Specifications
- Lines
- 6
- Coloured Lines
- 5
- Plain Lines
- 1
- Sgr Sequences
- 36
- Codes Used
- 0, 1, 2, 31-36, 1;31
- Note
- SGR colour codes only — no cursor movement
Testing contract
Expected to pass- Scenario
- Strip the escape sequences and extract the level from each line.
- Expected result
- All six lines yield a clean level — INFO, DEBUG, WARN, ERROR, INFO, INFO — where a parser reading the raw bytes matches only the final uncoloured line.
What is a .log file?
LOG files are plain-text records of events emitted by software, typically one entry per line with a timestamp, severity, and message. There is no single standard, so formats range from unstructured text to structured JSON lines. They are central to debugging, monitoring, and auditing.
How to use this file
Use an example LOG file to test log parsers, timestamp and severity extraction, line-oriented streaming, and ingestion into monitoring or analysis pipelines.
How to use this file for testing
“Plain-Text Log — ANSI Colour Codes in the Stream (log)” is a deterministic Novus Examples fixture for Observability, Log parsing, Encoding detection. Structured and plain-text telemetry with known timestamps, levels, request identifiers, and error states for testing log ingestion, correlation, dashboards, and alert pipelines.
Documented properties for this file: LOG · 623 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Telemetry fixtures use fixed trace IDs, span IDs, and timestamps so ingestion is reproducible run to run. Point your collector, parser, or query layer at the file and assert the documented span tree, metric families, or severity mix; service and host names are invented.
Code examples
grep -i error app-ansi-colour.log | head
awk '{print $1, $2, $NF}' app-ansi-colour.log | headRelated files
- jsonlStructured Log — Ten Timestamp Formats, One Instant (jsonl)The same instant written ten ways — RFC 3339 at three precisions and with a non-UTC offset, epoch seconds as integer and float, epoch milliseconds and nanoseconds, Common Log Format and the log4j comma-decimal form. What a timestamp autodetector must resolve to one moment.

- jsonlStructured Log — Unicode, RTL, Emoji and Control Characters (jsonl)Log messages in Latin, Japanese and Arabic scripts, an emoji flag and a zero-width-joiner family, NFC and NFD forms of the same accented letter, and escaped tab, newline and carriage return. Everything that makes a log line's byte length and its display width disagree.

- txtProfile — Demangled Symbols That Break the Folded Format (txt)Demangled C++ templates, Rust trait impls, Java generics, lambdas and unresolved hex addresses in the folded format — including one symbol containing a semicolon, which the format has no way to escape. That line is genuinely ambiguous, and how a parser handles it is the point.

- log.NET Exception with an Inner Exception Chain (log)A .NET exception whose inner exception is introduced by the ---> marker and closed by End of inner exception stack trace, wrapped in pipe-delimited log lines. Error groupers that key on the outermost message alone merge two genuinely different faults here.

- jsonlEnvoy-Style Proxy Access Log — JSON Lines (jsonl)Forty service-mesh proxy access records with the fields that make mesh debugging possible: response_flags distinguishing an upstream failure from an overflow, upstream_service_time against total duration, upstream host and cluster, and a request ID for correlation.

- logGo Panic with Full Goroutine Dump (log)A Go panic followed by the runtime's full goroutine dump — four goroutines with their wait states, two-line frames and a created by attribution, separated by blank lines. Blank-line separation defeats multi-line rules that treat an empty line as the end of an event.

Generated by generation/observability.py. Free for any use, no attribution required — license.