Created
April 11, 2013 14:17
-
-
Save diroussel/5363736 to your computer and use it in GitHub Desktop.
When using SiftingAppender and RollingFileAppender files do not get rolled on close.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<configuration> | |
<logger name="com.client.gcm" level="${log.level}" /> | |
<logger name="com.client.system" level="${log.level}" /> | |
<logger name="org.apache.commons.dbcp.DriverConnectionFactory" level="${log.level}" /> | |
<logger name="httpclient" level="WARN" /> | |
<logger name="org.apache" level="WARN" /> | |
<logger name="org.apache.commons.httpclient" level="WARN" /> | |
<logger name="org.apache.camel" level="${log.level}" /> | |
<logger name="org.apache.activemq.transport" level="WARN" /> | |
<logger name="org.hibernate" level="WARN" /> | |
<logger name="org.hibernate.cfg.AnnotationBinder" level="WARN" /> | |
<logger name="org.hibernate.cfg.annotations" level="WARN" /> | |
<logger name="org.quartz" level="WARN" /> | |
<logger name="org.springframework" level="WARN" /> | |
<logger name="org.springframework.jdbc.core.JdbcTemplate" level="${log.level}"/> | |
<logger name="org.datasynapse" level="WARN" /> | |
<!-- if we are given a file name, then log to file, else log to stdout --> | |
<if condition='!property("messagepricer.log.dir").isEmpty()'> | |
<then> | |
<appender name="WITHOUT_LOGFILKEY" class="ch.qos.logback.classic.sift.SiftingAppender"> | |
<filter class="ch.qos.logback.core.filter.EvaluatorFilter"> | |
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator --> | |
<expression>return mdc.containsKey("logfileKey");</expression> | |
</evaluator> | |
<OnMismatch>NEUTRAL</OnMismatch> | |
<OnMatch>DENY</OnMatch> | |
</filter> | |
<!-- in the absence of the class attribute, it is assumed that the desired | |
discriminator type is ch.qos.logback.classic.sift.MDCBasedDiscriminator --> | |
<discriminator> | |
<key>logfileType</key> | |
<defaultValue>main</defaultValue> | |
</discriminator> | |
<sift> | |
<appender name="ROLLING-${logfileType}" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
<file>${messagepricer.log.dir}/messagepricer.${logfileType}.${HOSTNAME}.log</file> | |
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |
<fileNamePattern>${messagepricer.log.dir}/archive-main/messagepricer.${logfileType}.${HOSTNAME}.%d{yyyy-MM-dd}.log.gz</fileNamePattern> | |
<maxHistory>${messagepricer.log.maxHistory}</maxHistory> | |
</rollingPolicy> | |
<encoder> | |
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-16thread] %-5level %-35.35logger{30} - %msg%n</pattern> | |
</encoder> | |
</appender> | |
</sift> | |
</appender> | |
<appender name="WITH_LOGFILKEY" class="ch.qos.logback.classic.sift.SiftingAppender"> | |
<filter class="ch.qos.logback.core.filter.EvaluatorFilter"> | |
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator --> | |
<expression>return !mdc.containsKey("logfileKey");</expression> | |
</evaluator> | |
<OnMismatch>NEUTRAL</OnMismatch> | |
<OnMatch>DENY</OnMatch> | |
</filter> | |
<!-- in the absence of the class attribute, it is assumed that the desired | |
discriminator type is ch.qos.logback.classic.sift.MDCBasedDiscriminator --> | |
<discriminator> | |
<key>logfileKey</key> | |
<defaultValue>messagepricer.%d{yyyy-MM-dd-HH-mm}.${HOSTNAME}</defaultValue> | |
</discriminator> | |
<sift> | |
<appender name="ROLLING-${logfileKey}" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
<file>${messagepricer.log.dir}/${logfileKey}.log</file> | |
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |
<fileNamePattern>${messagepricer.log.dir}/archive-msg/messagepricer.${logfileKey}.${HOSTNAME}.%d{yyyy-MM-dd-HH-mm}.log.gz</fileNamePattern> | |
<maxHistory>${messagepricer.log.maxHistory}</maxHistory> | |
</rollingPolicy> | |
<encoder> | |
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-16thread] %-5level %-35.35logger{30} - %msg%n</pattern> | |
</encoder> | |
</appender> | |
</sift> | |
</appender> | |
<appender name="ASYNC-ROLLING" class="ch.qos.logback.classic.AsyncAppender"> | |
<appender-ref ref="WITHOUT_LOGFILKEY" /> | |
</appender> | |
<appender name="ASYNC-FILE" class="ch.qos.logback.classic.AsyncAppender"> | |
<appender-ref ref="WITH_LOGFILKEY" /> | |
</appender> | |
<root level="${log.level}"> | |
<appender-ref ref="ASYNC-ROLLING" /> | |
<appender-ref ref="ASYNC-FILE" /> | |
</root> | |
</then> | |
<else> | |
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | |
<encoder> | |
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-16thread] %-5level %-35.35logger{30} - %msg%n</pattern> | |
</encoder> | |
</appender> | |
<root level="${log.level}"> | |
<appender-ref ref="STDOUT" /> | |
</root> | |
</else> | |
</if> | |
</configuration> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Were you able to find out why it wasn't working?