4

同様の他の質問を調べ、グーグルで答えを見つけましたが、私の質問はまだ答えられていません。これがどのように機能するかについてはまだよくわかりませんので、ご容赦ください。

私たちの maven pom.xml は slf4j 依存関係を使用しています:

mavenを使用してslf4jをインポートするpom.xml

log4j2.xml ファイルは次のようになります。

smtp アペンダーを含む log4j2.xml ファイル

これを上記のlog4j2.xmlファイルに追加しただけで、追加し<SMTP name="Mail" ...> </SMTP>たファイルの下部に<logger name="com.path.class1" ...> <appender ...> </logger>

しかし、何らかの理由で log.error("error message") を呼び出すと、メールが送信されません。smtp ホストは .NET サービスで使用されているため、動作することはわかっています。SMTP サーバーは、それを使用するために資格情報を必要としません。log.error 呼び出しが正しいディレクトリとファイル パスにあることはわかっています。ポートを設定してみましたが、違いはありませんでした。メール通知を機能させるにはどうすればよいですか?

私もmailAppenderを試しましたが、それもうまくいきませんでした:ここに画像の説明を入力

4

3 に答える 3

0

あなたのlog4j.xmlで

Mail Appender で設定してみる

サーバーの SMTP を使用して電子メールを送信できることを確認します。

<?xml version="1.0" encoding="UTF-8"?>

<appender name="mailAppender" class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="50" />
    <param name="SMTPHost" value="smtp.mail.example.com" />
    <param name="SMTPPort" value="587" />
    <param name="SMTPUsername" value="myemail_id@example.com" />
    <param name="SMTPPassword" value="mypassword" />
    <param name="From" value="fromemail_id@example.com" />
    <param name="To" value="to_emailid@example.com" />
    <param name="Subject" value="Testing Log4j mail notification" />
    <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>

<root>
    <priority value="info" />
    <appender-ref ref="mailAppender" />
</root>

于 2013-10-01T18:44:51.233 に答える
0

log4j2 と log4j-1.x アペンダーを混在させることはできません。Log4J2 SMTP アペンダが動作するはずです。

なんらかのエラーが発生している疑いがあります。クラスパスに Java メール jar がありますか? デバッグ メッセージをコンソールに出力するように、log4j2.xml 構成の先頭を変更できますか?

<Configuration status="debug"...
于 2013-10-01T23:08:59.920 に答える