2013-10-24 2 views

답변

0

LOG4J2-282에 따르면이 설정은 config (log4j2.xml)을 사용하여 수행 할 수 있습니다.

log4j-2.0b8에서 시스템 속성을 구현 한 것으로 보입니다. JIRA 문제에 대한 일부 의견은 여전히 ​​제대로 작동하지 않을 수도 있음을 나타냅니다.

0

Log4J2를 설치하고 실행하는 데 어려움을 겪었으며 StatusLogger를 인쇄하는 것도 예외는 아닙니다. 이론적으로 당신은 status 필드를 가진 설정 파일에서 설정할 수 있습니다. 그러나 나는 그 작업을하지 못했습니다.

당신은 그러나 당신의 주요 방법의 시작 부분에 다음 실행할 수 있습니다

StatusConsoleListener listener = new StatusConsoleListener(Level.ALL); 
StatusLogger.getLogger().registerListener(listener); 
LogManager.getLogger(LogManager.ROOT_LOGGER_NAME); // initialize logger 

는 정적 로거를 가질 수 없습니다 당신의 main() 클래스를 참고하거나이 전에 초기화됩니다은 로딩 상태를 의미라고합니다 메시지는 인쇄되지 않습니다.

5

업데이트 2018년 1월 :

Log4j는 2.10에서이 쉽습니다 : 단지 시스템 등록 정보 log4j2.debug으로 프로그램을 실행 (필요 없음 값, 빈 문자열이 괜찮습니다).


현재 상태 기록기의 (log4j-2.1) 문서는 약간 혼란 스럽습니다. 은 기본적으로 : 구성이 발견

  • 까지 상태 로거 수준은 시스템 프로퍼티 org.apache.logging.log4j.simplelog.StatusLogger.level 제어 할 수 있습니다.
  • 구성이 발견 된 후 상태 로거 수준은 구성 파일에서 "status"속성을 사용하여 제어 할 수 있습니다 (예 : <Configuration status="trace">).

업데이트 : documentation은 log4j-2.2에서 개선되었습니다.

1

Log4J 1.x 명령 줄 인수 -Dlog4j.debug의 가장 가까운 동등 물은 Log4J 2.x "상태 로거"수준을 추적으로 설정하고 로깅 구성에 대한 자세한 출력을 제공하는 -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace입니다.

Log4J 1.x를 사용하면 구성 파일이 /var/lib/tomcat7/log4j.xml-Dlog4j.configuration=file:///var/lib/tomcat7/log4j.xml을 사용하여 명령 줄에서 구성 파일의 위치를 ​​수동으로 지정할 수 있습니다. Log4J 2.x에는 'configuration'이 아닌 -Dlog4j.configurationFile=file:///var/lib/tomcat7/log4j.xml이라는 인수에 'File'이라는 미묘한 차이가 있습니다.

분명히 구성 파일이 사용중인 Log4J 버전에 맞는지 확인해야합니다. XML 구조는 1.x와 2.x에서 다릅니다.