로깅을 위해 log4j를 사용하는 여러 응용 프로그램이 있습니다. 각각의 로딩 설정은 클래스 경로에서로드 된 별도의 log4j.properties (디스크의 파일, .jar가 아닌 파일 또는 그것을 읽기 전용으로 만들 것입니다). 이러한 각 응용 프로그램에서 일반 UI를 통해 로그 수준을 업데이트 할 수 있습니다.응용 프로그램 내에서 log4j를 업데이트하고 log4j.properties를 업데이트했습니다.
저는 응용 프로그램간에 공유되는 공용 유틸리티 클래스를 사용합니다. 앱의 일생 동안 그렇게 할 수는 있지만, 변경 사항이 적절한 log4j.properties 파일에 저장되지 않기 때문에 다음에 다시 시작하면 속성 파일의 특정 레벨로 재설정됩니다.
방금 클래스 경로에서로드되었으므로 각 응용 프로그램의 로그 파일에 대한 전체 경로를 알지 못합니다. 일반적인 클래스이므로 경로를 하드 코딩하지 않아도됩니다. log4j에서 변경 사항을 디스크에 저장하는 방법이 있습니까?
알렉산더의 대답은 당신이 얻을 수있는만큼 좋을 것이라고 생각합니다. 그래도 네가 원하는 것보다 더 까다 롭다. Log4j는 PropertyConfigurator를 사용하여 속성 파일을 읽었지만 '쓰기'또는 '출력'메서드를 볼 수 없다는 것을 알고 있습니다. DOMConfigurator는 XML 버전이지만 다시 출력 방법을 볼 수 없습니다. – davidfrancis