내 응용 프로그램에 log4j2를 사용하고 싶습니다. ThreadContext에서 변수와 함께 RollingAppender를 사용하고 있습니다.log4j2가 로그 파일에 쓰지 않습니다.
여기 여기 내 log4j2.xml
<Configuration>
<Appenders>
<Routing name="RoutingAppender">
<Routes pattern="$${ctx:FlowName}">
<Route>
<RollingFile name="Audit-${ctx:FlowName}"
fileName="logs/Audit-${ctx:FlowName}.log"
filePattern="logs/Audit-${ctx:FlowName}.%i.log.gz"
immediateFlush="true">
<PatternLayout>
<pattern>"%m%n"<pattern/>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="6" modulate="true" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
</RollingFile>
</Route>
</Routes>
</Routing>
</Appenders>
<Loggers>
<Root level="trace">
<appender-ref ref="RoutingAppender" level="info"/>
</Root>
<Logger name="AuditNippin" level="info" >
<AppenderRef ref="myRoutingAppender"/>
</Logger>
</Loggers>
</Configuration>
인 자바 코드 :
package be.myApp;
public class myClass{
private static final org.apache.logging.log4j.core.Logger AUDITLOGGER =
(org.apache.logging.log4j.core.Logger) org.apache.logging.log4j.LogManager.getLogger("myRoutingAppender");
public void doSomething(){
ThreadContext.put("FlowName", "MyFlow");
AUDITLOGGER.info("coucou");
ThreadContext.remove("FlowName");
}
}
이 파일이 제대로 문맥에 따라 생성한다. 그러나 로그 파일에 아무것도 쓰지 마십시오. 모든
문제를 해결 했습니까? 나는 지금 같은 문제에 직면하고있다. –