Log4j2: SMTPAppender не отправляет письма с ошибочным или фатальным уровнем

Я обнаружил некоторые проблемы с SMTPAppender в log4j2. Всякий раз, когда регистрировать события с уровнемerror или жеfatal созданыбез иметь событие с уровнемinfo до того, как письмо не будет отправлено и фатальное событие исчезнет.

Вот мой файл конфигурации log4j2 (log4j2.xml) и небольшая программа (LogTest.java) для воспроизведения проблемы:


    

        
        
            [email protected]
            [email protected]
            smtp.example.com
            25
            smtp
            me
            secret
        

    

        
        
            
        

        
        
        
        
         
            
        

    
    

        
        
            
        

        
        
            
        

    

Я использовал эту небольшую программу, чтобы воспроизвести проблему (LogTest.java):

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

class LogTest
{
    private static Logger logger=LogManager.getLogger("LogTest");

    public void testlogger()
    {
        /* --> uncomment to enable first mail
        logger.info("test info 1");
        */
        logger.fatal("test fatal 1");

        /* --> uncomment to enable second mail
        logger.info("test info 2");
        */
        logger.fatal("test fatal 2");
    }

    public static void main(String[] args)
    {
        LogTest app=new LogTest();
        app.testlogger();
    }

}

Если вы раскомментируете две отмеченные позиции, все будет работать так, как задумано: отправляются две почты, каждая из которых содержит фатальное событие и предыдущее информационное событие. Дополнительно на стандартный вывод выводятся 4 события:

test info 1
test fatal 1
test info 2
test fatal 2

Теперь, если вы только активируете / раскомментируете вторую позицию - второе письмо (fatal2) отправляется как положено (снова с предыдущим событием info2), но даже если первое фатальное событие печатается на стандартный вывод, почта съедена. Вывод выглядит следующим образом:

test fatal 1
test info 2
test fatal 2

Лично мне кажется, что я что-то не так и неправильно настроил log4j2 или это может быть ошибка.

Заранее благодарны за Вашу помощь.

* Jost

Замечания:

Для тестов я использовалlog4j2-beta7 скачано из проекта 'с сайта. Документацию можно найтиВот.

Ответы на вопрос(1)

Ваш ответ на вопрос