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.