2016-01-20 100 views
1

我有一個appender,我認爲應該配置爲只發送電子郵件時記錄在錯誤級別。Log4Net電子郵件appender發送電子郵件時,閾值未達到

但我一直從應用程序收到沒有任何條目的錯誤日誌級別的電子郵件。

在這個配置中有什麼東西是「愚弄」appender發送?可能與有損設置有關?

<appender name="SmtpErrorAppender" type="log4net.Appender.SmtpAppender"> 
    <to value="[email protected]"/> 
    <from value="[email protected]" /> 
    <subject value="Service Error" /> 
    <authentication value="None" /> 
    <smtpHost value="127.0.0.1" /> 
    <port value="25" /> 
    <lossy value="false" /> 
    <evaluator type="log4net.Core.LevelEvaluator"> 
     <threshold value="ERROR" /> 
    </evaluator> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%newline %-5level %date %message%newline%newline%newline" /> 
    </layout> 
</appender> 
<root> 
    <level value="DEBUG"/> 
    <appender-ref ref="RollingLogFileAppender"/> 
    <appender-ref ref="SmtpErrorAppender"/> 
</root> 
+0

使用如下的過濾器 - 的原因是這樣的[(源)](http://mail-archives.apache.org/mod_mbox/logging-log4net-user/200509.mbox/%[email protected] 。「評估者是由BufferingAppenderSkeleton實現的,因此只有支持者支持 擴展這個基類,並提供緩衝支持。一個由BufferingAppenderSkeleton使用的可插入對象,用於確定 是否不應緩存日誌事件,而是立即寫入/發送。「** – stuartd

回答

1

在appender中設置日誌級別過濾器。

<filter type="log4net.Filter.LevelRangeFilter"> 
    <levelMin value="ERROR" /> 
    <levelMax value="FATAL" /> 
</filter> 
+0

這是否意味着有損日誌將只包含ERROR和FATAL,並且不包含任何信息消息領先到錯誤? – BenCr