2010-08-18 3 views
0

Java World를 처음 사용했습니다.log4j 예외 처리

우리는 특정 유형에 대한 반응을 보이는 log4j를 어떤 식 으로든 가질 수있는 특별한 방법을 제공하는 Java 응용 프로그램을 가지고 있습니다. MQ 연결 예외와 같은 것을 위해 자신 만의 appender를 가지므로 특정 그룹에 이메일을 보내야합니다.

인턴이 MQ를 사용하고 전자 메일을 보내야하는 예외를 통해 응용 프로그램에서 Java를 사용자 지정하는 중입니다.

저는 실제로 appender가 어떻게 보이는지를 찾고 있습니다

답변

0

예, 당신은 올바른 길을 가고 있습니다. 자신의 Appender를 구현하고 기록하려는 것과 일치하는 것을 기록하십시오.

또는 기존의 appender (예 : SMTPAppender)를 사용하고 기존 Filter을 구현/활용하여 전송되는 것을 제한하십시오.

+0

나는 그가 예외를 잡을 수 있다면 그 대신 로그 전송 이메일, 요구 생각은 ... – Nix

+0

@Nix : 이메일처럼 기록의 한 형태이다 다른. 전자 메일을 보내는 SMTPAppender가 있습니다. –

0

특정 예외 클래스가 포함 된 경우에만 이벤트를 추가하려는 경우 필터를 쓸 수 있습니다. 이 라인을 따라 뭔가 (테스트되지 않은 코드!) :

public final class ExceptionFilter extends org.apache.log4j.spi.Filter { 

    private volatile String type; 

    public void setType(String type) { 
    this.type = type; 
    } 

    public String getType() 
    return type; 
    } 

    public int decide(LoggingEvent evt) { 
    Throwable t = evt.getThrowableInformation().getThrowable(); 
    if ((t != null) && t.getName().equals(type)) 
     return NEUTRAL; 
    else 
     return DENY; 
    } 

}