Skip to content
Novus Examples
log421 B

Plain-Text Log — NUL, Control Bytes and Invalid UTF-8 (log)

Five log lines carrying a NUL byte, bell, backspace, vertical tab and form feed, plus one 0xFF byte that is not valid UTF-8 — the debris that arrives when binary data reaches a log field. Deliberately contains no terminal-escape sequences, only inert control bytes.

Preview — first 6 lineslog
2026-03-17T09:14:32.850Z INFO  checkout-api normal line before the control characters
2026-03-17T09:14:32.960Z WARN  checkout-api embedded NUL here: and text after it
2026-03-17T09:14:33.120Z WARN  checkout-api bell  backspace  vertical-tab  form-feed 
2026-03-17T09:14:33.480Z ERROR checkout-api invalid UTF-8 byte follows: � end
2026-03-17T09:14:33.900Z INFO  checkout-api normal line after the control characters

Specifications

Lines
5
Has Nul Byte
true
Control Bytes
00, 07, 08, 0b, 0c
Invalid Utf8 Bytes
1
Invalid Byte
0xFF
Bytes Exact
true
Note
no cursor-control or terminal-escape sequences

Testing contract

Expected to recover
Scenario
Read the file as UTF-8 text and index all five lines.
Expected result
The 0xFF byte is replaced with U+FFFD or the line is quarantined, the NUL does not truncate its line at the C-string boundary, and lines 1 and 5 are unaffected.

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 — NUL, Control Bytes and Invalid UTF-8 (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 · 421 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-control-characters.log | head
awk '{print $1, $2, $NF}' app-control-characters.log | head

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