내 응용 프로그램에서 log4j2를 사용하고 있습니다.log4j2로 한 수준 만 기록하는 방법은 무엇입니까?
내가 원하는 것은 콘솔에 갈 때까지 '디버그', myapp.log로 이동하려면 '정보'까지만, 'myapp-audit.log'로 이동하는 경우에만 '정보'까지입니다.
이유는 정보가 대부분 성공적인 데이터 수정 (예 : '사용자 생성', '사용자 업데이트', '사용자 삭제'등)로 구성되기 때문입니다. If는 사실상 데이터 수정의 감사 로그입니다.
하지만 어떻게 할 지 알아낼 수는 없습니다.
'myapp-audit.log'에 '정보'만 기록하려면 어떻게해야합니까? 오류, 치명적, 경고 - 여기 당신은 info
수준이 모든 것을 "위"를 포함 직접하기 때문에 할 수 없어
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="LogFile" fileName="myapp.log">
<PatternLayout
pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</File>
<File name="AuditFile" fileName="myapp-audit.log">
<PatternLayout
pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</File>
</appenders>
<loggers>
<root level="debug">
<appender-ref ref="Console" level="debug" />
<appender-ref ref="LogFile" level="info" />
<appender-ref ref="AuditFile" level="info" /> <!-- I want ONLY 'info' here -->
</root>
</loggers>
</configuration>
그들은 또한 *에 대한 임계 값 필터에 의해 일치하고 있기 때문에 * 오류 * 치명적인 * * 여기에 대한 필터에 대한 필요가 없습니다 : 당신은 또한, ERROR 및 FATAL 수준의 이벤트를 WARN 필터링 만 정보를 제한 할 수 있습니다 경고 *. – Raniz