콘솔에서 사용자 정의 로거 인쇄 비활성화 (log4j2)
-
21-12-2019 - |
문제
일부 customm 생성 로거를 생성 할 수 있습니까?
두 개의 로거가 있습니다.
-
root 로거
-
메트릭 로거 ( 파일 에 인쇄
)
<Appenders>
<File name="file" fileName="app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<logger name="metrics" level="info" additivity="true">
<AppenderRef ref="file"/>
</logger>
<root level="info">
<AppenderRef ref="STDOUT"/>
</root>
</Loggers>
.
파일 로거
에 대한 콘솔에서 인쇄 메시지를 비활성화하고 싶습니다.해결책
이해의 열쇠는 여기에 있습니다 http://logging.apache.org/log4j/2.x / manual / configuration.html # additivity
루트 로거는 로거 "메트릭"의 부모입니다."메트릭"의 로그 이벤트는 루트 로거의 Appender ( "stdout")로 전달됩니다.이것은 추가로 알려져 있습니다.로거 "메트릭"에서 additivity 속성을 false로 설정하여 비활성화 할 수 있습니다.
<logger name="metrics" level="info" additivity="false">
<AppenderRef ref="file"/>
</logger>
. 제휴하지 않습니다 StackOverflow