문제

나는 log4j를 사용하는 큰 귀를 가지고 있으며 이를 설정하는 데 사용되는 단일 구성 파일이 있습니다.이 구성 파일에는 특정 로그 파일에 대한 언급이 없지만 구성 파일에 지정된 파일 외에 추가 파일이 로그 폴더에 생성됩니다.나는 (logger|log4j|log).(properties|xml)의 다른 조합을 검색했지만 귀에 포함된 모든 jar 파일에서 유망한 것을 찾지 못했습니다.이러한 추가 파일을 생성하는 문제가 있는 스레드/클래스가 무엇인지 어떻게 추적합니까?

도움이 되었습니까?

해결책

File 클래스의 생성자와 mkdir 및 createNewFile 메소드에 중단점을 배치해 보십시오.일반적으로 코드는 File 클래스를 사용하여 파일이나 디렉터리를 만듭니다.JVM에 포함된 이러한 클래스에 대한 Java 소스 코드가 있어야 합니다.

다른 팁

추가하다 -Dlog4j.debug 명령줄에 추가하면 표준 출력에 구성 방법에 대한 추가 정보가 표시됩니다.

공식적으로는 SysInternal, 현재는 Microsoft의 Process Explorerhttp://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

"찾기" 메뉴 항목 -> "핸들 또는 DLL 찾기..."

SysInternals는 Java 클래스 IO에 도움이 되지 않을 수 있습니다.이러한 로그가 기록되는 동안 JVM의 스레드 덤프를 가져와 보십시오(예: kill -3).스택 추적 상단 근처에서 java.io 패키지로 빨간색으로 처리된 스레드를 포착할 수 있어야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top