2014-06-11 2 views
0

log4j 및 신청서에 도움이 필요합니다. 아래에 나열된 3 개의 패키지가있는 JAR에 있습니다. 나는 동시에 응용 프로그램의 서로 다른 두 인스턴스를 시작할 수 있습니다Log4j 공동 수업 프로젝트

클래스 A와 클래스 B가 클래스 A에서 하나

는 제가 가지고 싶은 것은 클래스 B.에서 다른, 메인 클래스가 내 A 급에서 실행중인 응용 프로그램은 appender1 에 로그인 클래스 B에서 실행 내 응용 프로그램 appender2

문제에 로그인해야 할 필요가있다 클래스 C의 로그 클래스에있는 펜더와 클래스 B 펜더 중 하나를 작성하는 것을 : 때 AI 클래스를 실행하십시오

appender 1 :

시작]

펜더이 종료 뭔가 이렇게 :

뭔가

을하는 내가 실행 클래스 A는 단지 appender1 때 appender2을 쓰고 싶지 않아합니다. 클래스 B와 동일한 것 appender2에만 appender1에 쓰고 싶지 않음

감사드립니다. 여기

내 클래스와의 log4j의 스키마입니다 :

내 JAR :

  • com.myAppl.package1.A
  • com.myAppl.package2.B
  • com.myAppl .package3.C

-

Class A { 
    LOG = LogFactory.getLog(A.class); 

    main() { 
     LOG.info("Start A"); 
     new C().doSomething(); 
     LOG.info("End A"); 
    } 

} 

Class B { 
    LOG = LogFactory.getLog(B.class); 

    main() { 
     LOG.info("Start B"); 
     new C().doSomethingElse(); 
     LOG.info("End B"); 
    } 

} 

Class C { 
    LOG = LogFactory.getLog(C.class); 

    doSomething() {* 
     LOG.info("Doing something"); 
    } 

    doSomethingElse() { 
     LOG.info("Doing something else"); 
    } 

} 

의 log4j.xml

... 

<logger name="com.myAppl.package1" additivity="false"> 
    <level value="info" /> 
    <appender-ref ref="appender1"/> 
</logger> 

<logger name="com.myAppl.package2" additivity="false"> 
    <level value="info" /> 
    <appender-ref ref="appender2"/> 
</logger> 

<logger name="com.myAppl.package3" additivity="false"> 
    <level value="info" /> 
    <appender-ref ref="appender1"/> 
    <appender-ref ref="appender2"/> 
</logger> 

...

답변