Code Snippet

Just another Code Snippet site

[Logback] Configuration file

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="1 minute" > 

	<!-- #################################################### -->
	<!-- Properties -->
	<!-- #################################################### -->
	<property name="DEFAULT_LOG_LEVEL" value="DEBUG" />
	
	<property name="LOG_FOLDER" value="/var/logs/" />
	<property name="LOG_ARCHIVE_FOLDER" value="/var/logs/ARCHIVE/%d{yyyy/MM, aux}/" />
	<property name="MAX_LOG_SIZE" value="50MB" />	
 
	<!-- #################################################### -->
	<!-- Appenders -->
	<!-- #################################################### -->
	<appender name="FILE_1" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<File>${LOG_FOLDER}/file_1.log</File>
		<encoder> 
			<pattern>%d{yyyy-MM-dd HH:mm:ss} [%5p] %C{1}\(%L\) - %m%n</pattern>
		</encoder>	 
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_ARCHIVE_FOLDER}/file_1_%d{yyyyMMdd}.%i.log.gz</fileNamePattern>
			<cleanHistoryOnStart>false</cleanHistoryOnStart>
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>${MAX_LOG_SIZE}</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>  
	</appender> 
	
	<!-- #################################################### -->
	<!-- Loggers -->
	<!-- #################################################### -->
	<logger name="com" level="${DEFAULT_LOG_LEVEL}" additivity="false">
		<appender-ref ref="FILE_1"/>
	</logger>  
	
	<!-- Root logger -->
	<root level="ERROR">
		<appender-ref ref="FILE_1" />
	</root>

</configuration>

FILE_1 will be rolled by date and by size.
Files will be archived into Gzip archive like : /var/logs/ARCHIVE/2015/12/file_1_20150613.%i.log.gz

A hourly rolling will be defined like this

<fileNamePattern>${LOG_ARCHIVE_FOLDER}/file_1_%d{yyyyMMdd_HH}.%i.log.gz</fileNamePattern>


Comments are currently closed.