我想在tomcat中爲子項目使用常見的log4j xml。有一個父項目已經部署,父項目的一部分是其他三個項目。兩個項目A和B已經存在,並且記錄工作正常。我正在添加一個新的項目C,並像下面那樣更新了log4j。我看到正在創建ProjectC.log文件(這是在tomcat啓動時發生的),但是此文件(或任何其他文件)中沒有Project C相關日誌語句。這是我目前的log4j XML:爲多個子項目配置常見的log4j xml
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="true">
<appender name="rootAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="ProjectAAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="${catalina.base}/logs/projectA.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="100000KB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
</layout>
</appender>
<appender name="ProjectBAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="${catalina.base}/logs/ProjectB.csv"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="10000KB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout"/>
</appender>
<appender name="ProjectCAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="${catalina.base}/logs/ProjectC.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="10000KB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout"/>
</appender>
<logger name="projA" additivity="true">
<level value ="DEBUG" />
<appender-ref ref="ProjectAAppender"/>
</logger>
<logger name="projA.Performance" additivity="true">
<level value ="INFO" />
<appender-ref ref="ProjectBAppender"/>
</logger>
<logger name="projC" additivity="true">
<level value ="DEBUG" />
<appender-ref ref="ProjectCAppender"/>
</logger>
<root>
<priority value ="INFO" />
<appender-ref ref="rootAppender"/>
</root>
我得到我的log4j的實例是使用SLF4J的LoggerFactory方式:
LoggerFactory.getLogger(clazz)
我已經宣佈了log4j的依賴關係(1.2.14) slf4j-log4j12(1.4.1)我的pom中的jar文件。 當我獨立執行Project C時(運行junit測試用例時),此設置正常工作。 如何爲項目C做日誌記錄工作?我應該對我的log4j xml進行任何更改?謝謝。