LINUX.ORG.RU

[log4j] email appender yandex


0

1

Пытаюсь настроить отправку логов с мыла на яндексе.
Конфиги такие:

  <appender name="email" class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="512" />
    <param name="SMTPHost" value="smtp.yandex.ru" />
    <param name="SMTPUsername" value="Имя пользователя" />
    <param name="SMTPPassword" value="Пароль" />
    <param name="From" value="Имя пользователя@yandex.ru" />
    <param name="To" value="Получатель на gmail" />
    <param name="Subject" value="SomeApplication on SomeServer12" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss,SSS} %c [%p]: %m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="LevelMin" value="error" />
      <param name="LevelMax" value="fatal" />
    </filter>
  </appender>

    <logger name="email" additivity="false">
      <level value="debug"/>
      <appender-ref ref="email"/>
    </logger>

Но такая конструкция не работает, письма просто не доходят. В чем может быть проблема? Ошибок не каких на консоль не пишется.


Запусти netcat, повесь его на SMTP порт на локалхосте и настрой отправку почты на локалхост. Посмотри оно хоть пытается что-то отправить.

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Спасибо, немного разобрался. Отправка через ssl не работает, по этому необходимо отправлять сообщения по другому порту, для яндекса это 587. Сообщения отправляются только на уровне FATAL.

    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="LevelMin" value="error" />
      <param name="LevelMax" value="fatal" />
    </filter>
вот этот фильт почему то игнорируется.
Включить отладочный режим можно строчкой: <param name=«SMTPDebug» value=«true» />
В конечном итоге мой конфиг выглядит так:
  <appender name="email" class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="1" />
    <param name="To" value="Почта получателя на гмыле" />
    <param name="From" value="имя пользователя@yandex.ru" />
    <param name="Subject" value="SomeApplication on SomeServer12" />
    <param name="SMTPHost" value="smtp.yandex.ru" />
    <param name="SMTPUsername" value="имя пользователя@yandex.ru" />
    <param name="SMTPPassword" value="пароль" />
    <param name="SMTPPort" value="587" />
    <!--param name="SMTPDebug" value="true" /--> 
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss,SSS} %c [%p]: %m%n" />
    </layout>
  </appender>

n4ela
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.