New

The executive guide to generative AI

Read more

file

edit

This output writes events to files on disk. You can use fields from the event as parts of the filename and/or path.

By default, this output writes one event per line in json format. You can customise the line format using the line codec like

output {
 file {
   path => ...
   codec => line { format => "custom format: %{message}"}
 }
}

 

Synopsis

edit

This plugin supports the following configuration options:

Required configuration options:

file {
    path => ...
}

Available configuration options:

Setting Input type Required Default value

codec

codec

No

"json_lines"

create_if_deleted

boolean

No

true

dir_mode

number

No

-1

file_mode

number

No

-1

filename_failure

string

No

"_filepath_failures"

flush_interval

number

No

2

gzip

boolean

No

false

path

string

Yes

workers

number

No

1

Details

edit

 

codec

edit
  • Value type is codec
  • Default value is "json_lines"

The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output, without needing a separate filter in your Logstash pipeline.

create_if_deleted

edit
  • Value type is boolean
  • Default value is true

If the a file is deleted, but an event is comming with the need to be stored in such a file, the plugin will created a gain this file. Default ⇒ true

dir_mode

edit
  • Value type is number
  • Default value is -1

Dir access mode to use. Note that due to the bug in jruby system umask is ignored on linux: https://github.com/jruby/jruby/issues/3426 Setting it to -1 uses default OS value. Example: "dir_mode" => 0750

file_mode

edit
  • Value type is number
  • Default value is -1

File access mode to use. Note that due to the bug in jruby system umask is ignored on linux: https://github.com/jruby/jruby/issues/3426 Setting it to -1 uses default OS value. Example: "file_mode" => 0640

filename_failure

edit
  • Value type is string
  • Default value is "_filepath_failures"

If the generated path is invalid, the events will be saved into this file and inside the defined path.

flush_interval

edit
  • Value type is number
  • Default value is 2

Flush interval (in seconds) for flushing writes to log files. 0 will flush on every message.

gzip

edit
  • Value type is boolean
  • Default value is false

Gzip the output stream before writing to disk.

message_format (DEPRECATED)

edit
  • DEPRECATED WARNING: This configuration item is deprecated and may not be available in future versions.
  • Value type is string
  • There is no default value for this setting.

The format to use when writing events to the file. This value supports any string and can include %{name} and other dynamic strings.

If this setting is omitted, the full json representation of the event will be written as a single line.

path

edit
  • This is a required setting.
  • Value type is string
  • There is no default value for this setting.

The path to the file to write. Event fields can be used here, like /var/log/logstash/%{host}/%{application} One may also utilize the path option for date-based log rotation via the joda time format. This will use the event timestamp. E.g.: path => "./test-%{+YYYY-MM-dd}.txt" to create ./test-2013-05-29.txt

If you use an absolute path you cannot start with a dynamic string. E.g: /%{myfield}/, /test-%{myfield}/ are not valid paths

workers

edit
  • Value type is number
  • Default value is 1

The number of workers to use for this output. Note that this setting may not be useful for all outputs.