지금까지 log4j가 시스템 속성 -Dlog4j.debug를 처리 할 수 있음을 이해했습니다. 앱을 실행하면 log4j의 디버그 출력이 표시됩니다.Log4j 2. log4j의 디버그 메시지를 얻는 방법은 무엇입니까?
예 : 자바 -Dlog4j.debug -jar test.jar
log4j에 2 유사한 일이 있습니까?
지금까지 log4j가 시스템 속성 -Dlog4j.debug를 처리 할 수 있음을 이해했습니다. 앱을 실행하면 log4j의 디버그 출력이 표시됩니다.Log4j 2. log4j의 디버그 메시지를 얻는 방법은 무엇입니까?
예 : 자바 -Dlog4j.debug -jar test.jar
log4j에 2 유사한 일이 있습니까?
LOG4J2-282에 따르면이 설정은 config (log4j2.xml)을 사용하여 수행 할 수 있습니다.
log4j-2.0b8에서 시스템 속성을 구현 한 것으로 보입니다. JIRA 문제에 대한 일부 의견은 여전히 제대로 작동하지 않을 수도 있음을 나타냅니다.
Log4J2를 설치하고 실행하는 데 어려움을 겪었으며 StatusLogger를 인쇄하는 것도 예외는 아닙니다. 이론적으로 당신은 status
필드를 가진 설정 파일에서 설정할 수 있습니다. 그러나 나는 그 작업을하지 못했습니다.
당신은 그러나 당신의 주요 방법의 시작 부분에 다음 실행할 수 있습니다
StatusConsoleListener listener = new StatusConsoleListener(Level.ALL);
StatusLogger.getLogger().registerListener(listener);
LogManager.getLogger(LogManager.ROOT_LOGGER_NAME); // initialize logger
는 정적 로거를 가질 수 없습니다 당신의 main()
클래스를 참고하거나이 전에 초기화됩니다은 로딩 상태를 의미라고합니다 메시지는 인쇄되지 않습니다.
업데이트 2018년 1월 :
Log4j는 2.10에서이 쉽습니다 : 단지 시스템 등록 정보 log4j2.debug
으로 프로그램을 실행 (필요 없음 값, 빈 문자열이 괜찮습니다).
현재 상태 기록기의 (log4j-2.1) 문서는 약간 혼란 스럽습니다. 은 기본적으로 : 구성이 발견
org.apache.logging.log4j.simplelog.StatusLogger.level
제어 할 수 있습니다.<Configuration status="trace">
).업데이트 : documentation은 log4j-2.2에서 개선되었습니다.
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에서 다릅니다.