Log4j2 SMTPAppender не отправляет электронную почту

Мой вопрос похож на эти два:

но я вообще не могу отправлять SMTP, и я не хочу помещать <appender-ref ref="SMTPAppender" /> в корневой регистратор. Если бы я это сделал, я бы получал электронные письма от каждого регистратора. Таким образом, SMTPAppender может отправлять SMTP, но я просто хочу, чтобы notificationLogger был единственным регистратором, отправляющим электронные письма.

Вот мой файл log4j2.xml:

    <loggers>
        <logger name="notificationLogger" level="fatal" additivity="false">
            <appender-ref ref="SMTPAppender" /> 
            <appender-ref ref="stdout" />
        </logger>
        <logger name="com.prod" level="INFO">
            <appender-ref ref="RollingFile"/>
        </logger>
        <root level="INFO">
            <appender-ref ref="stdout"/>
        </root>
    </loggers>

Что мне сделать, чтобы notificationLogger был единственным регистратором, отправляющим SMTP?


person j will    schedule 08.10.2013    source источник


Ответы (2)


Не спец в этом, но...

Разве это не известная ошибка?

https://issues.apache.org/jira/browse/LOG4J2-310

person peter.petrov    schedule 08.10.2013
comment
Я не думаю, что это один и тот же баг. Я сделал аналогичные тестовые примеры, чтобы увидеть, была ли у меня такая же проблема, но у меня ее не было. Во-первых, я не использую ту же среду, а во-вторых, я не получаю никаких SMTP, независимо от того, произошло ли информационное или фатальное событие. - person j will; 09.10.2013

Мне пришлось обновить мои зависимости maven, чтобы исправить известную ошибку.

  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-beta9</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.0-beta9</version>
  </dependency>
person j will    schedule 08.10.2013