SMTPAppender для log4j - не могу заставить его работать - PullRequest
2 голосов
/ 04 февраля 2012

Я пытаюсь добавить SMTPAppender в приложение для уведомления об ошибках (приложение tomcat). Я не смог заставить его работать до этого момента. Я пробовал использовать конфигурацию как в файле log4j.properties, так и через конфигурацию log4j.xml. Я не вижу ошибок в журнале, связанных с неправильной настройкой настройки приложения. Я просто не вижу никаких попыток по электронной почте. Первоначально я должен ввести javax.mail и javax.activation, чтобы я знал, что он пытается настроить и использовать SMTPAppender, но я не вижу ничего, кроме ошибок конфигурации или электронных писем, которые отправляются при возникновении ошибок.

Вот log4j.properties, которые я попробовал (изменил личную информацию)

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n

log4j.appender.email=org.apache.log4j.net.SMTPAppender
log4j.appender.email.Threshold=ERROR
log4j.appender.email.BufferSize=512
log4j.appender.email.To=myemail@mydomain.com
log4j.appender.email.From=from@mydomain.com
log4j.appender.email.SMTPHost=mysmtphost
log4j.appender.email.Subject=MULE -- error  
log4j.appender.email.layout=org.apache.log4j.PatternLayout
log4j.appender.email.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.email.SMTPUsername=mysmtpuser
log4j.appender.email.SMTPPassword=mysmtppassword

Вот конфигурация, которую я попробовал в файле log4j.xml

<appender name="console" class="org.apache.log4j.ConsoleAppender">      
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%5p (%F:%L) - %m%n" />
    </layout>
</appender>

<appender name="file" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/apps/data/pbymuleservices.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="10"/>
    <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%5p [%d{ISO8601}] (%F:%L) - %m%n"/>
    </layout>
</appender> 

<appender name="email" class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="512" />
    <param name="SMTPHost" value="mysmtphost" />
    <param name="SMTPUsername" value="mysmtpusername" />
    <param name="SMTPPassword" value="mysmtppassword" />
    <param name="From" value="fromemail@mydomain.com" />
    <param name="To" value="toemail@mydomain.com" />
    <param name="Threshold" value="error" />
    <param name="Subject" value="MULE -- Error" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="LevelMin" value="error" />
        <param name="LevelMax" value="fatal" />
    </filter>
</appender>

<logger name="com.mytoplevel.package" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="console"/> 
    <appender-ref ref="file"/> 
</logger>

<logger name="org.mule" additivity="false">
    <level value="WARN"/>
    <appender-ref ref="console"/> 
    <appender-ref ref="file"/> 
</logger>

<logger name="com.mulesource" additivity="false">
    <level value="WARN"/>
    <appender-ref ref="console"/> 
    <appender-ref ref="file"/> 
</logger>               

<root>
    <priority value="error" />
    <appender-ref ref="console" />
    <appender-ref ref="file"/>
    <appender-ref ref="email"/> 
</root>

Кто-нибудь видит что-нибудь, что должно мешать этому работать? Я не вижу никаких ошибок, связанных с конфигурацией в журнале, но я также не вижу электронных писем при возникновении ошибок Спасибо

1 Ответ

1 голос
/ 15 февраля 2012

Добавьте этот параметр в переменную CATALINA_OPTS env: -Dlog4j.debug Он напечатает, откуда берется конфигурация регистрации.

...