Skip to content

read_lines

Parses an incoming bytes stream into events.

read_lines [skip_empty=bool, split_at_null=bool, split_at_regex=string]

The read_lines operator takes its input bytes and splits it at a newline character.

Newline characters include:

  • \n
  • \r\n

The resulting events have a single field called line.

Ignores empty lines in the input.

Use null byte (\0) as the delimiter instead of newline characters.

:::warning Deprecated This option is deprecated. Use read_delimited_regex instead. :::

Use the specified regex as the delimiter instead of newline characters. The regex flavor is Perl compatible and documented here.

load_file "events.log"
read_lines
is_error = line.starts_with("error:")

Split Syslog-like events without newline terminators from a TCP input

Section titled “Split Syslog-like events without newline terminators from a TCP input”

Consider using read_delimited_regex for regex-based splitting:

load_tcp "0.0.0.0:514"
read_delimited_regex "(?=<[0-9]+>)"
this = line.parse_syslog()
load_tcp "0.0.0.0:514"
read_lines split_at_regex="(?=<[0-9]+>)"
this = line.parse_syslog()

read_ssv, read_tsv, read_delimited_regex, read_xsv, write_lines

Last updated: