사용중인 서비스에 따라 로그 파일을 분리하여 로깅해야합니다. 그래서 service1이 &이고 service2.log가 & service2.log 인 것으로 가정합니다.Log4j 다중 로그 파일 및 공통 코드 로그인
두 가지 서비스에서 공통적 인 코드가 사용되고 있다는 것이 문제입니다. 이제 공통 코드가 서비스 중 하나에 의해 호출되고 특정 로그 파일에 로그인하는 경우 로그를 어떻게 작성합니까?
내가 로거를 생성하고있는 방법은
private static final Logger logger = Logger.getLogger(ClassName.class);
나는이 방법 레벨 대신에 로거를 공통 코드에 문자열 (로거 이름)을 전달하고 만드는 것입니다 핸들로 생각하고 방법입니다 수업.
예 :
someMethodInCommonCode(String loggerName) {
Logger logger = Logger.getLogger(loggerName);
}
나는 log4j에 너무 같아요 오버 헤드되지 않습니다 방법 로거를 만들 로거의 캐시를 유지 관리 읽었습니다.
그리고 로거 이름이 전달되는 것을 좋아하지 않습니다. 위 시나리오 나 다른 아이디어를 얻을 수있는 방법이나 구성이 있습니까? 당신의 서비스가 다른 스레드에서 실행하는 경우
@buc에서 제안한대로 MDC를 사용하여 구현되었습니다. 방법을 알아 보려면 [blogsbyabdullah] (http://blogsbyabdullah.blogspot.in/2012/06/logging-to-different-log-files-based-on.html)를 방문하십시오. –