>Java >java지도 시간 >별도의 어펜더와 로그 파일에 서로 다른 로깅 수준을 보내도록 Log4j를 구성하려면 어떻게 해야 합니까?

별도의 어펜더와 로그 파일에 서로 다른 로깅 수준을 보내도록 Log4j를 구성하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-29 17:29:02909검색

How can I configure Log4j to send different logging levels to separate appenders and log files?

Log4j로 다양한 레벨 및 콘텐츠 로깅

질문:

log4j를 다음과 같이 구성할 수 있습니까? 서로 다른 로깅 수준을 별도의 어펜더로 지정하시겠습니까? 목표는 모든 INFO 및 위의 메시지를 캡처하는 기본 로그와 선택한 클래스 그룹에 대해서만 DEBUG 메시지를 캡처하는 다른 로그와 같은 특정 콘텐츠가 포함된 여러 로그 파일을 만드는 것입니다.

답변:

여러 로그 파일을 위한 Log4j 구성

Log4j를 사용하면 어펜더를 통해 여러 대상에 대한 로깅을 사용자 정의할 수 있습니다. 원하는 구성을 얻으려면:

  1. 여러 어펜더 정의: 먼저 각 로그 유형에 대해 별도의 어펜더를 생성합니다. 로그 파일 대상을 지정하려면 적절한 파일 속성을 할당하십시오. 각 어펜더의 로깅 수준을 제어하려면 임계값을 설정합니다(예: 기본 로그의 경우 INFO, 특정 클래스의 경우 DEBUG).
  2. 루트 로거 구성: rootLogger 옵션은 모든 로깅이 처음에 위치를 결정합니다. 전송된. 이전에 생성한 어펜더에 로그를 보내도록 구성합니다.
  3. 로거 수준 설정: log4j.logger 속성을 사용하여 다양한 클래스나 패키지에 대한 특정 로깅 수준을 설정합니다. 이를 통해 각 클래스에 대해 기록된 세부 정보 수준을 선택적으로 제어할 수 있습니다.

구성 예:

log4j.rootLogger=QuietAppender, LoudAppender, TRACE
# setup main log
log4j.appender.QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=INFO
log4j.appender.QuietAppender.File=quiet.log

# setup specific log
log4j.appender.LoudAppender=org.apache.log4j.RollingFileAppender
log4j.appender.LoudAppender.Threshold=DEBUG
log4j.appender.LoudAppender.File=loud.log

# set logging level for specific classes
log4j.logger.com.yourpackage.yourclazz=TRACE

이 구성을 사용하면 'quiet. log'에는 모든 클래스에 대한 모든 INFO 및 위 메시지가 포함되는 반면, 'loud.log'에는 지정된 'yourclazz' 클래스에 대한 DEBUG 메시지만 포함됩니다.

위 내용은 별도의 어펜더와 로그 파일에 서로 다른 로깅 수준을 보내도록 Log4j를 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.