You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Michael Karas <Mi...@iteratec.de> on 2004/07/05 17:14:20 UTC
Context specific appenders for log4j
Hi log4j-dev-list !
We have developed 2 useful appenders for log4j which can be used for
a file-logging on a context specific basis.
The context-key has to be set via MDC for each Thread.
The name of the key can be set as a parameter..(see log4j.xml below)
Therefore instead of having only one Logfile with pattern Like [Context: %8X{CONTEXT}]
it is now possible to have separate Logfiles on a context-specific basis.
Additional any Logging with an empty MDC-Context-Key goes into a default Logfile.
The RollingContextFileAppender uses RollingFileAppenders internal, the DailyRollingContextFileAppenders uses
- guess what - DailyRollingFileAppenders internal....
example log4j.xml configuration:
.....
<appender name="Context_Appender" class="org.apache.log4j.RollingContextFileAppender">
<param name="ContextKey" value="MYCONTEXT"/> <!-- Context key to be used (has to be set via MDC) -->
<param name="FileName" value="c:/BSP_log"/> <!-- Path and Filename -->
<param name="MaxDefaultFileSize" value="5MB"/> <!-- Maximum size of the default log (optional) -->
<param name="MaxDefaultBackupIndex" value="3"/> <!-- Maximum backup index of the default log (optional) -->
<param name="MaxContextFileSize" value="1MB"/> <!-- Maximum lofsize PER CONTEXT (optional) -->
<param name="MaxContextBackupIndex" value="3"/> <!-- Maximum backup index of EACH CONTEXT (optional) --> <layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ISO8601}] %5p - %-18c : %m%n"/>
</layout>
</appender>
.......
See javadoc for all options / mandatory configurations....
=> Hope this contribution helps anyone ;)
Yours,
Michael Karas