Skip to content

Instantly share code, notes, and snippets.

@sameei
Last active February 4, 2019 15:22
Show Gist options
  • Save sameei/caf29e35334f1f7593c4980391f7dcb9 to your computer and use it in GitHub Desktop.
Save sameei/caf29e35334f1f7593c4980391f7dcb9 to your computer and use it in GitHub Desktop.
Logback Config Example
<configuration debug="true" scan="true" scanPeriod="30 seconds">
<!-- URL : https://logback.qos.ch/manual/configuration.html -->
<!-- URL : https://logback.qos.ch/manual/appenders.html -->
<!-- URL : https://logback.qos.ch/manual/layouts.html -->
<!-- STDOUT -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern-->
<pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n%ex{full}</pattern>
</encoder>
</appender>
<!-- Simple File -->
<appender name="File" class="ch.qos.logback.core.FileAppender">
<file>${application.home:-.}/var/application.log</file>
<encoder>
<pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>
</encoder>
</appender>
<!-- ROLLING -->
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>/var/log/service.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history capped at 3GB total size -->
<maxHistory>7</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg\n%ex{full}</pattern>
</encoder>
</appender>
<!-- Syslog + Filtering -->
<appender name="Alert" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost</syslogHost>
<port>514</port>
<facility>LOCAL3</facility>
<suffixPattern>%level %msg%n</suffixPattern>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- Async -->
<appender name="Async?" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="?" />
</appender>
<!-- LOGGER -->
<logger name="logger-name" level="OFF|..|INFO|..|ERROR" additivity="[true]|false">
<!--
Aditivity; default: true (duplicate); other values: false(don't duplicate)
https://logback.qos.ch/manual/configuration.html#overrridingCumulativity
-->
<appender-ref ref="appender-name" />
</logger>
<logger name="org.apache.kafka.clients.producer.ProducerConfig" level="info">
<appender-ref ref="debuger" />
</logger>
<!-- ROOT -->
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment