We are running SDL 2013 SP1 with Java 7 on the delivery side. We are trying to upgrade from an earlier release of DXA Java to DXA 1.4.1. While upgrading we noticed that none of Tridion CD libraries are generating any log information even though we have everything defined in the logback.xml file. Not having any log info makes troubleshooting impossible.
Below is the logback.xml we are using.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.pattern" value="%date %-5level %logger{0} - %message%n"/>
<property name="log.history" value="7"/>
<property name="log.folder" value="D:/Apache/tomcat-sh-web13/logs"/>
<property name="log.level" value="WARN"/>
<property name="log.encoding" value="UTF-8"/>
<!-- Appenders -->
<appender name="rollingTransportLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/tridion/cd_transport.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.history}</maxHistory>
</rollingPolicy>
<encoder>
<charset>${log.encoding}</charset>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<appender name="rollingDeployerLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/tridion/cd_deployer.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.history}</maxHistory>
</rollingPolicy>
<encoder>
<charset>${log.encoding}</charset>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<appender name="rollingMonitorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/tridion/cd_monitor.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.history}</maxHistory>
</rollingPolicy>
<encoder>
<charset>${log.encoding}</charset>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<appender name="rollingCoreLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/tridion/cd_core.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.history}</maxHistory>
</rollingPolicy>
<encoder>
<charset>${log.encoding}</charset>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<appender name="rollingSessionPreviewLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/tridion/cd_preview.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.history}</maxHistory>
</rollingPolicy>
<encoder>
<charset>${log.encoding}</charset>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<appender name="rollingHibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/tridion/cd_hibernate.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.history}</maxHistory>
</rollingPolicy>
<encoder>
<charset>${log.encoding}</charset>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<!-- Loggers -->
<logger name="com.tridion" level="${log.level}"/>
<logger name="com.tridion.transport">
<appender-ref ref="rollingTransportLog"/>
</logger>
<logger name="com.tridion.transport.HTTPSReceiverServlet">
<appender-ref ref="rollingDeployerLog"/>
</logger>
<logger name="com.tridion.transport.transportpackage">
<appender-ref ref="rollingDeployerLog"/>
</logger>
<logger name="com.tridion.transformer">
<appender-ref ref="rollingDeployerLog"/>
</logger>
<logger name="com.tridion.deployer">
<appender-ref ref="rollingDeployerLog"/>
</logger>
<logger name="com.tridion.tcdl">
<appender-ref ref="rollingDeployerLog"/>
</logger>
<logger name="com.tridion.event">
<appender-ref ref="rollingDeployerLog"/>
</logger>
<logger name="com.tridion.monitor">
<appender-ref ref="rollingMonitorLog"/>
</logger>
<logger name="Tridion.ContentDelivery" level="${log.level}">
<appender-ref ref="rollingCoreLog"/>
</logger>
<logger name="com.tridion.preview">
<appender-ref ref="rollingSessionPreviewLog"/>
</logger>
<logger name="com.tridion.storage.persistence.session">
<appender-ref ref="rollingSessionPreviewLog"/>
</logger>
<logger name="org.hibernate.SQL">
<appender-ref ref="rollingHibernateLog"/>
</logger>
<logger name="org.hibernate.type">
<appender-ref ref="rollingHibernateLog"/>
</logger>
<root level="OFF">
<!-- <level value="${log.level}" /> -->
<appender-ref ref="rollingCoreLog"/>
</root>
<logger name="org.springframework"/>
<logger name="org.springframework.web"/>
<logger name="org.dd4t"/>
<logger name="com.sdl.webapp"/>
</configuration>
EDIT:
I noticed that Tomcat is not picking up the logback.xml
from my web-inf/classes
folder and instead it is taking a logback.xml
from Tomcat/lib
. I found that tomcat-juli.jar
was replaced to use logback's version of tomcat-juli.jar
and Tomcat/lib
folder contained tomcat-juli-adapters.jar
. After removing tomcat-juli-adapters.jar
and replacing tomcat-juli.jar
with the original one and deleting logback.xml
from Tomcat/lib
now even the blank files defined in my logback.xml
are not being created.