Log4j2: отправьте электронное письмо только для конкретного исключения (configException)JAVA

Программисты JAVA общаются здесь
Anonymous
Log4j2: отправьте электронное письмо только для конкретного исключения (configException)

Сообщение Anonymous »

Я хочу, чтобы log4j2 отправил электронную почту только , когда зарегистрирован ConfigException . Все остальные исключения должны быть проигнорированы приложением электронной почты. < /P>
Вот минимальный пример: < /p>

Код: Выделить всё

log4j2.xml
[/b]

Код: Выделить всё








%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n%throwable

















java code:

Код: Выделить всё

public class ConfigException extends Exception {
public ConfigException(String message) {
super(message);
}
public ConfigException(String message, Throwable cause) {
super(message, cause);
}
}
< /code>
private final org.apache.logging.log4j.Logger log4jLogger =
org.apache.logging.log4j.LogManager.getLogger(getClass());

public void severe(String message, Throwable throwable) {
log4jLogger.error(message, throwable);
}
< /code>
try {
throw new ConfigException("Config failed");
} catch (ConfigException cEx) {
severe("Hihi; " + cEx.getMessage(), cEx);
}

try {
throw new RuntimeException("Some other error");
} catch (RuntimeException ex) {
severe("Oops; " + ex.getMessage(), ex);
}
Что происходит сейчас:

[*] Электронная почта отправляется для оба исключения.
Я хочу, чтобы электронное письмо было отправлено для configexception . Могу ли я настроить приложение Log4J2 SMTP , чтобы он отправил электронное письмо только тогда, когда зарегистрированное исключение является экземпляром ConfigException ?

Подробнее здесь: https://stackoverflow.com/questions/797 ... gexception

Вернуться в «JAVA»