
1) You can only have *one *nested-appender within SiftingAppender. To manage *two* nested appender families, create *two* sifted appenders. 2) <FileNamePattern>tbank-${contextName}.%d{yyyy-MM-dd}.log.zip looks suspicious, it should probably be <File>${catalina.home}/logs/tbank/tbank-${contextName}.d{yyyy-MM-dd}.log.zip</File> 3) Since you are going to share the same configuration file between all contexts, you should override the JNDIContextSelector convention and explicitly define the "logback/configuration-resource" to point to the same file. Include the following in each web.xml. The path to the logback should be the same (shared). <env-entry> <env-entry-name>logback/configuration-resource</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>c:/my_shared_logback_config.xml</env-entry-value> </env-entry> Alternatively you could follow the convention and have different logback configuration files with identical contents (which is rather silly in this case). I hope this helps, On 05/03/2010 9:32 AM, toxel wrote:
I read in manual (http://logback.qos.ch/manual/loggingSeparation.html) that : " Assuming you have enabled ContextJNDISelector, logging for Kenobi will be done using a logger context named "kenobi". Moreover, the "kenobi" logger context will be initialized by convention using the configuration file called logback-kenobi.xml which should be packaged within Kenobi web-application under the WEB-INF/classes folder. "
And 2nd question: can I use next configuration for SIFT appender - with two underlying appenders
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> <discriminator class="utils.common.logging.JNDIBasedContextDiscriminator"> <DefaultValue>unknown</DefaultValue> </discriminator> <sift> <appender name="logfile-${contextName}" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${catalina.home}/logs/tbank/tbank-${contextName}.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>tbank-${contextName}.%d{yyyy-MM-dd}.log.zip </FileNamePattern> <MaxHistory>60</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d [%thread] %-5level %logger{35} - %msg%n </Pattern> </layout> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> <Encoding>utf-8</Encoding> </appender>
<appender name="errfile-${contextName}" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${catalina.home}/logs/tbank/tbank-${contextName}-error.log </File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>tbank-${contextName}-error.%d{yyyy-MM-dd}.log.zip </FileNamePattern> <MaxHistory>60</MaxHistory> </rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d [%thread] %-5level %logger{35} - %msg%n </Pattern> </layout> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <Encoding>utf-8</Encoding> </appender> </sift> </appender>