Skip to content
Novus Examples
log500 B

Plain-Text Log — Mixed CRLF and LF Line Endings (log)

One log file written by two agents, four lines ending CRLF and three LF, with one line carrying trailing spaces before its break. Splitting on \n alone leaves a stray carriage return at the end of four fields, which is how a level or status ends up with an invisible character attached.

Preview — first 8 lineslog
2026-03-17T09:14:32.850Z INFO  checkout-api written by the Windows agent
2026-03-17T09:14:32.960Z INFO  checkout-api still the Windows agent
2026-03-17T09:14:33.120Z INFO  cart-api written by the Linux sidecar
2026-03-17T09:14:33.480Z WARN  cart-api still the Linux sidecar
2026-03-17T09:14:33.900Z ERROR payments-api Windows agent again, after a rotation
2026-03-17T09:14:34.220Z INFO  payments-api trailing spaces before the break   
2026-03-17T09:14:34.610Z INFO  notifier final line, LF only

Specifications

Lines
7
Crlf Lines
4
Lf Lines
3
Trailing Spaces Line
1
Ends With Newline
true
Written Byte Exact
true
Note
line endings are the fixture — the file is written byte-for-byte

Testing contract

Expected to pass
Scenario
Split the file into lines and compare the last character of each parsed field.
Expected result
Seven lines are produced with no field ending in a stray \r, and the trailing-space line keeps its spaces if the parser is meant to preserve them.

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 — Mixed CRLF and LF Line Endings (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 · 500 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-mixed-line-endings.log | head
awk '{print $1, $2, $NF}' app-mixed-line-endings.log | head

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