log4j Обработка исключений - PullRequest
1 голос
/ 18 августа 2010

Я новичок в мире Java.

У нас есть Java-приложение, в котором оно выдает особый тип исключения. Есть ли способ, мы можем иметь log4j, чтобы реагировать определенным образом. Имея собственный appender для чего-то вроде исключения MQ-соединения, нам нужно отправить электронное письмо определенной группе.

Мы находимся в процессе настройки Java-приложения вне приложения, которое использует MQ, и за исключением того, что нам нужно отправить по электронной почте.

Я на самом деле ищу, как будет выглядеть appender

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Да, вы на правильном пути. Реализуйте свой собственный Appender и регистрируйте только те вещи, которые соответствуют тому, что вы хотите зарегистрировать.

В качестве альтернативы используйте существующий appender (например, SMTPAppender ) и внедрите / используйте существующий Фильтр , чтобы ограничить отправляемое туда сообщение.

0 голосов
/ 18 августа 2010

Если вы хотите добавить событие только в том случае, если оно содержит определенный класс исключений, вы можете написать фильтр. Что-то вроде этого (непроверенный код!):

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;
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...