Skip to main content

Data Model

Schema free

Loglark places almost no restriction on record contents. There are no schema and records can have any shape.

Record parsing

Loglark parses every log record as a json document. If parsing fails, then the whole record content is interpolated as a json string.

To give a practical example, consider the following cases:

Record with valid json

{"name": "foo"}

will be parsed as json document

{ "name": "foo" }

and record containing non-valid json

{"name": "broken

will be interpolated as json string

"{\"name\":\"broken"

Loglark supports so called raw-text mode: treat all log records as text strings. It is faster, but also limited: no json filters are supported. Due to limited usefulness it has been disabled. If you want it anyway, please write us

Faithful representation

Loglark stores records as close as possible to the original JSON text. Field order and duplicate fields are preserved. Field contents are kept down to their exact utf-8 representation. The only normalizations are that all indenting is stripped and redundant escaping is collapsed: "\u0041" becomes "A". Otherwise contents are exact. Notably, the text representation of numbers stays the same: 1e10000 remains 1e10000 and will not be converted to null or Infinity.