2009-04-14 4 views
0

우리 애플리케이션에는 데이터베이스 로그, 웹 로그, quartzlog와 같은 여러 로그 파일이 있습니다.로그 파일 선택

package/app/database 아래의 모든 파일 로그는 데이터베이스 로그로 이동합니다. 패키지/app/offline에있는 파일의 모든 로그는 quartzlog 로그로 이동합니다.

이제는/app/database 아래의 java 파일 중 하나의 로그 기록을 데이터베이스 로그 대신 quartzlog로 출력하려고합니다.

Java 파일에서 특정 로그 파일을 선택하려면 어떻게해야합니까?

답변

1

원하는 파일에 로그인하는 적절한 appender를 정의해야합니다. 어떻게 할 수 있는지 보려면 this short introduction을 읽으십시오.

그런 다음 구성 파일에서, 당신은 선택 펜더에 가서 특정 패키지에서 모든 메시지를 지시 할 수 있습니다 :

log4j.logger.my.package = DEBUG, myFileAppender 

편집 : log4j에 만 패키지 해상도는 내가 믿는

입니다 가능 - 파일 또는 방법마다 appender를 사용할 수 없습니다. log4j 위에 추가 레이어를 추가하거나 자신의 appender를 구현하여이 문제를 해결할 수 있습니다. 대신 log.debug 사용의 예를 들어

: 당신은 단지 하나의 방법에서 수행해야하는 경우

my.loggerproxy.log.debug(message); 

, 다음 위의 충분합니다. 로거 프록시 패키지가 다른 파일에 기록되도록 지시하십시오.

+0

감사합니다. 예, 우리는 이미 이것을 가지고 있습니다. 하지만 내가 필요한 것은 다른 출력 파일 (쿼츠)을 사용하는 한 특정 메서드의 출력 로그 문입니다 (대리자의 메서드라고 말하면됩니다). –

+0

편집 : 설명해 주셔서 감사합니다. 나는 더 탐험 할 것이다 –

+0

log4 위에 여분의 레이어를 추가하는 데 도움이 될만한 지침이있다. 나는 그것을 이해할 수 없었다. 감사합니다 –