2012-02-04 30 views
1

我正在绑定添加SMTPAppender到错误通知(tomcat应用程序)的应用程序。到目前为止,我还无法做到这一点。我已经在log4j.properties文件中以及通过log4j.xml配置使用配置来尝试它。我没有看到与appender设置配置错误相关的日志中的任何错误。我根本没有看到任何电子邮件企图。最初,我必须引入javax.mail和javax.activation,所以我知道它试图设置并使用SMTPAppender,但是我没有发现任何错误发生时发送的配置错误或电子邮件。SMTPAppender for log4j - 无法让它工作

下面是我试过的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 
[email protected] 
[email protected] 
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="[email protected]" /> 
    <param name="To" value="[email protected]" /> 
    <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> 

任何人看到任何应保持configuation这从工作?我在日志中没有看到与配置有关的任何错误,但是当错误发生时我也没有看到电子邮件。 感谢

回答

0

添加这个参数去的CATALINA_OPTS环境变量:-Dlog4j.debug这将打印在那里的拿起从日志配置。