Skip to content

Instantly share code, notes, and snippets.

@rnkoaa
Last active February 2, 2017 22:57
Show Gist options
  • Save rnkoaa/ddfbd5b5d511f773ba951d43eec556e9 to your computer and use it in GitHub Desktop.
Save rnkoaa/ddfbd5b5d511f773ba951d43eec556e9 to your computer and use it in GitHub Desktop.
A Custom Simple logback file to use in Spring boot to generate logs to custom locations. Just drop this into the classpath, preferably the resources folder. When running, make sure to include these variables from the environment: ```-DAPPLICATION_NAME=... -DAPP_LOG_DIR=... -DAPP_LOG_FILE_NAME=...```
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="APPLICATION_NAME" value="${APPLICATION_NAME}"/>
<property name="APP_LOG_DIR" value="${APP_LOG_DIR}" />
<property name="APP_LOG_FILE_NAME" value="${APP_LOG_FILE_NAME}" />
<property name="MAX_FILE_SIZE" value="10MB"/>
<property name="MAX_DAYS_TO_KEEP" value="30" />
<property name="APP_LOG_FILE"
value="${APP_LOG_DIR}/${APP_LOG_FILE_NAME}.log}"/>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{0}.%M\(%line\) - %msg%n</Pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${APP_LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover. Make sure the path matches the one in the file element or else
the rollover logs are placed in the working directory. -->
<!--<fileNamePattern>${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/${APPLICATION_NAME}}%d{yyyy-MM-dd}.%i.log</fileNamePattern>-->
<FileNamePattern>${APP_LOG_DIR}/${APP_LOG_FILE_NAME}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>${MAX_DAYS_TO_KEEP}</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{0}.%M\(%line\) - %msg%n</Pattern>
</encoder>
</appender>
<logger name="org.springframework.boot" level="INFO"/>
<logger name="com.richard.test.spring" level="INFO" additivity="false">
<!-- <appender-ref ref="CONSOLE"/>-->
<appender-ref ref="consoleAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
</configuration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment