tomcat에서 서브 프로젝트에 공통 log4j xml을 사용하려고합니다. 이미 배포 된 상위 프로젝트가 있고 상위 프로젝트의 일부는 다른 세 가지 프로젝트입니다. 두 개의 프로젝트 A와 B가 이미 존재하고 로깅이 정상적으로 작동합니다. 나는 새로운 프로젝트 C를 추가하고 아래와 같이 log4j를 업데이트했다. ProjectC.log 파일이 생성되는 것을 볼 수 있습니다 (Tomcat이 시작될 때 발생합니다). 그러나이 파일 (또는 다른 파일)에는 Project C 관련 로그 문이 없습니다. 내가 log4j에 대한 종속성을 선언 한여러 서브 프로젝트에 대해 공통 log4j xml 구성
LoggerFactory.getLogger(clazz)
(1.2.14) :
<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을 사용 얻는 방법 : 이것은 내 현재의 log4j XML이다 내 pom에 slf4j-log4j12 (1.4.1) jar 파일이 있습니다. 이 설정은 프로젝트 C를 독립적으로 실행할 때 (junit 테스트 케이스 실행시) 잘 작동합니다. 프로젝트 C의 로깅을 어떻게 만들 수 있습니까? 내 log4j xml을 변경해야하는 변경 사항은 무엇입니까? 고맙습니다.