그래서 항상 lo4j를 설정하는 데 문제가 있습니다. 실제로 구성이 실제로 무엇을 의미하는지 완전히 파악할 수는 없습니다. 즉, 나는 새로운 애플리케이션에서 log4j2를 설정하려고하는데,이 시점에서 이것을 파악하려고 애 쓰고 싶지는 않습니다.Log4j2 구성 - 매일 최대 파일로 롤링
내 응용 프로그램의 경우 log4j2가 파일과 콘솔 (즉, 표준 출력)에 모두 기록되도록 설정해야합니다. 이와 함께 매일 새 로그 파일을 만들고 한 번에 10 개만 유지하도록 구성해야합니다.
ERROR로 설정된 로깅에 대한 시스템 전체 기본 임계 값을 사용하여 비동기 로깅을 사용하고 싶습니다. 그래서
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" monitorInterval="600">
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
</Console>
<File name="web-services" fileName="web-services-log">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
</File>
<Async name="ASYNC">
<AppenderRef ref="web-services" />
<AppenderRef ref="CONSOLE" />
</Async>
</Appenders>
<Loggers>
<logger name="log4j.logger.httpclient.wire.header" level="fatal"
additivity="false" />
<Root level="debug">
<AppenderRef ref="ASYNC" />
</Root>
</Loggers>
</Configuration>
, 추가로 몇 가지 질문 나는 수도 경우 :
첫째, 여기에 파일 제약의 압연 또는 최대 수를 처리하지 않습니다 지금 내가 가지고있는 구성은,이다
1.) <Configuration status="log-level">
과 <Root level="debug">
레벨의 차이점은 무엇입니까? 루트 노드를 ERROR로 설정하고 부모 노드를 DEBUG로 설정하면 어떻게됩니까?
2.) 여러 번, 특정 패키지를 DEBUG로 설정하고 나머지 응용 프로그램은 ERROR로 설정합니다. 내가 정확히 <logger name="log4j.logger.httpclient.wire.header" level="fatal" additivity="false" />
을 가지고있는 것처럼 추가 로거를 지정하여이 작업을 수행 할 수 있다는 것을 이해할 수 있습니까?
3.) 오류 및 예외뿐만 아니라 표준 첨부 파일에 대해서도 예외를 자체 파일에 저장하려면 어떻게해야합니까? 내가 읽은 것부터 예외 처리 로거는 이벤트가 손실되지 않도록 동기되어야합니다.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta9</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-beta9</version>
<scope>compile</scope>
</dependency>