1

log4net の次の SmtpAppender 構成があります。

<appender name="AlchemySmtpAppender" type="log4net.Appender.SmtpAppender">
      <to value="my@mail.com" />
      <from value="validfrom@mail.com" />
      <subject value="Fatal error on Web Portal" />
      <smtpHost value="ValidHost" />
      <username value="myUserName"/>
      <password value="myPassword"/>
      <lossy value="false" />
      <bufferSize value="0"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%date [%thread] %-5level %logger - %message%newline%newline%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="AlchemySmtpAppender" />
    </root>

ただし、メールは送信されません。

内部デバッグを有効にし、トレース/出力を確認したところ、次のことがわかりました。

log4net: Loading Appender [SmtpAppender] type: [log4net.Appender.SmtpAppender]
log4net: Setting Property [To] to String value [my@mail.com]
log4net: Setting Property [From] to String value [validfrom@mail.com]
log4net: Setting Property [Subject] to String value [Fatal error on Web Portal]
log4net: Setting Property [SmtpHost] to String value [ValidHost]
log4net: Setting Property [Username] to String value [myUserName]
log4net: Setting Property [Password] to String value [myPassword]
log4net: Setting Property [Lossy] to Boolean value [False]
log4net: Setting Property [BufferSize] to Int32 value [0]
log4net: Converter [message] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Setting Property [ConversionPattern] to String value [%newline%date [%thread] %-5level %logger - %message%newline%newline%newline]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [date] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [literal] Option [ [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [thread] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [literal] Option [] ] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [level] Option [] Format [min=5,max=2147483647,leftAlign=True]
log4net: Converter [literal] Option [ ] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [logger] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [literal] Option [ - ] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [message] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=False]
log4net: Setting Property [Layout] to object [log4net.Layout.PatternLayout]
log4net: reated Appender [SmtpAppender]
log4net: Adding appender named [SmtpAppender] to logger [root].
log4net: Hierarchy Threshold []

私が見ることができるエラーはありませんが、メールもありません。web.config ファイルの System.Net セクションでもこれらを使用し、完全に機能するため、電子メール アドレス、資格情報、およびホストはすべて有効です。

私の構成で何が間違っている可能性があるか知っている人はいますか? それとも、それを理解するために私ができる他の形式のトラブルシューティングがありますか?
RollingFile、Trace、AdoNetAppender などの他のアペンダーを使用しても問題なく動作します。

4

1 に答える 1

1

smtp4dev をインストールし、セットアップしたダミー ホストを使用するように log4net を構成することで、問題を解決することができました。

誰かがこれを行う必要がある場合に備えて確認するために:

  1. smtp4dev をダウンロードして実行します
  2. オプションでホストをセットアップします(偽の名前を使用します)
  3. hosts ファイルを編集して、偽のホスト名を追加します
  4. 次のように、smtpAppender が偽のホストを使用するように構成されていることを確認します。
<appender name="MySmtpAppender" type="log4net.Appender.SmtpAppender">
      <To value="my@mail.com" />
      <From value="no-reply@mail.com" />
      <Subject value="Fatal error on Web Portal" />
      <SmtpHost value="FakeHost" />
      <Port value="25" />
      <Username value="myUsername"/>
      <Password value="myPassword"/>
      <Layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%date [%thread] %level %logger [%property{NDC}] - %message%newline%newline%newline" />
      </Layout>
</appender>

それが役立つことを願っています。

于 2013-09-05T08:51:01.527 に答える