Skip to content

Latest commit

 

History

History
65 lines (56 loc) · 1.74 KB

README.md

File metadata and controls

65 lines (56 loc) · 1.74 KB

Logback JSON encoder for Logstash

First, add it to your project as a dependency.

Maven style:

<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
  <version>1.2</version>
</dependency>

Use it in your logback.xml like this:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="stash" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <file>/some/path/to/your/file.log</file>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>
    <root level="all">
        <appender-ref ref="stash" />
    </root>
</configuration>

The resulting information contains the caller info by default. This can be costly to calculate and should be switched off for busy production environments.

To switch if off add the includeCallerInfo property to the configuration.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="stash" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <file>/some/path/to/your/file.log</file>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder">
            <includeCallerInfo>false</includeCallerInfo>
        </encoder>
    </appender>
    <root level="all">
        <appender-ref ref="stash" />
    </root>
</configuration>

Use it in your logstash configuration like this:

input {
  file {
    type => "your-log-type"
    path => "/some/path/to/your/file.log"
    format => "json_event"
  }
}