Logger.getRootLogger().getAppender("CONSOLE")
은 클래스에서 null을 반환하지만 콘솔에 기록 할 수 있습니다. getAllAppenders() 또한이 클래스에서 NullEnumeration을 반환합니다.log4j 디버그는 구성된 부속 장치에 로깅하지 않습니다.
다른 클래스 (MyClass) 로깅 수준 : DEBUG | 가법 성 : 참 | 부모 : 루트 | getAllAppenders() : NullEnumeration 하지만 log.debug는 콘솔에 아무것도 인쇄하지 않습니다. 이 클래스 log4j 구성은
<logger name="com.xxx.service.impl.MyClass">
<level value="TRACE"/>
</logger>
디버그 메시지가없는 여러 가지 방법으로 만 헛되이 인쇄하기 이유 디버깅을 시도입니다.
이 클래스에 대한 log4j 구성을 어떻게 확인할 수 있습니까? 문제점은 무엇이 될 수 있습니까? 도와주세요. u는 각 클래스는 하나 개의 log4j 파일의 로그를 기록 할 수 있는지 거짓 가산 매개 변수를 설정해야합니다 처음에는
이 매개 변수 "-Dlog4j.debug = true"가 있습니다. 이것을 추가하고 함께 실행하십시오. 시작시 log4j 등록 정보 파일이 있는지 알려줍니다. – Neron
@Neron이 (가) 귀하의 의견을 보내 주셔서 감사합니다. Log4J 디버그 로그 로거가 내 의도 된 구성 파일 (log4j.xml)을 사용하고 있으며 모든 애 퍼더가 제대로 초기화되었습니다 (적절한 로그 파일을 사용하는 파일 첨부자). 일부 클래스는 모든 애펜더 및 일부 클래스에 로그를 인쇄 할 수 있습니다. MyClass logger에 대해서도 특정 appender-ref를 추가했습니다. 변경하지 않았습니다. – pavan