2

エラー通知用のアプリケーション (Tomcat アプリ) に SMTPAppender を追加しようとしています。この時点まで、私はそれを機能させることができませんでした。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>

これが機能しないようにする必要があるものを見た人はいますか? ログに構成関連のエラーは表示されませんが、エラーが発生したときの電子メールも表示されません。ありがとう

4

1 に答える 1

1

このパラメーターを CATALINA_OPTS env 変数に追加します。-Dlog4j.debugログ構成を取得している場所を出力します。

于 2012-02-14T23:40:16.897 に答える