2014-07-26 2 views
0

패키지를 기반으로 여러 파일에 로그 할 수 있다는 것을 알고 있습니다. 제 질문은 약간 다릅니다. 주어진 패키지는 다음과 같습니다.공통 모듈이있는 여러 파일에 로그백 로그

- foo.bar.moduleA 
- foo.bar.moduleB 
- foo.bar.commonModule 

이 시나리오에서 moduleA와 moduleB는 commonModule에서 호출되는 코드를가집니다. 내가 가진 문제는 moduleA에서 로깅 만 포함하거나 moduleB에서 로깅 만 포함하는 두 개의 로그 파일을 얻는 것입니다. 이것이 내가 사용하고있는 패키지 레벨 로깅 때문이라는 것을 알지만이 패키지와이 스레드에서 나중에 호출되는 다른 패키지의 모든 것을 기록하도록 확장하는 방법을 모르겠습니다. 다행히도 그것은 의미가 있습니다. 어떤 도움을 주셔서 감사합니다.

답변

0

나는 당신이 MDC를 사용 할 수 있다고 생각하지만 당신의 moduleA 또는 moduleB 스레드를 시작할 때이 MDC에 뭔가 넣어 있도록 악기에 코드를해야합니다 : 다음 당신은 할 수

MDC.put("module", "moduleA"); // or B 

%X{module}을 패턴에 입력하고 grep/whatever를 사용하여 필터링하거나 SiftingAppenderMDCBasedDiscriminator을 사용할 수 있습니다. 예 : in this page이 있습니다.

관련 문제