Dot-Net
Log4Net - 僅針對某些文件註銷異常堆棧跟踪
我目前使用 log4net 在我的應用程序中有多個日誌文件。
我有一個頂級日誌文件,其中包含每種類型的消息。我還有一個僅包含錯誤資訊的錯誤日誌文件。我正在嘗試對其進行配置,以便特定的異常詳細資訊和堆棧跟踪僅出現在錯誤日誌文件中。
我正在使用的電話是
Log.Error(myMessage, myException);我的配置如下所示:
<configuration> <log4net> <root> <level value="ALL"/> <appender-ref ref="GeneralTextLog"/> <appender-ref ref="ErrorTextLog"/> </root> <!-- The general appender rolls by date --> <appender name="GeneralTextLog" type="log4net.Appender.RollingFileAppender"> <filter type="log4net.Filter.LevelRangeFilter"> <level value="ALL"/> </filter> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%d{HH:mm:ss.fff} [%type] %-5p %message%n"/> </layout> <rollingStyle value="Date"/> <file value="C:/Logs/General_"/> <datePattern value="yyyy_MM_dd'.log'" /> <appendToFile value="true"/> <staticLogFileName value="false"/> </appender> <!-- The Error appender rolls by date --> <appender name="ErrorTextLog" type="log4net.Appender.RollingFileAppender"> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="WARN"/> <levelMax value="FATAL"/> </filter> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%d{HH:mm:ss.fff} [%type] %-5p %message%newline%exception"/> </layout> <rollingStyle value="Date"/> <file value="C:/Logs/Error_"/> <datePattern value="yyyy_MM_dd'.log'" /> <appendToFile value="true"/> <staticLogFileName value="false"/> </appender> <!-- Loggers --> <logger name="DefaultLogger"> <appender-ref ref="GeneralTextLog"/> <level value="ALL"/> </logger> <logger name="ErrorLogger"> <appender-ref ref="ErrorTextLog"/> <levelMin value="WARN"/> <levelMax value="FATAL"/> </logger>儘管我只在錯誤日誌的 conversionPattern 中包含了 %exception,但堆棧跟踪出現在兩個日誌中。有誰知道我怎樣才能阻止這種情況發生?
像這樣配置佈局(GeneralTextLog Appender):
<layout type="log4net.Layout.PatternLayout"> <IgnoresException value="False" /> ...設置
IgnoresException為 false 告訴 appender 佈局將處理異常。因此,您可以選擇不列印堆棧跟踪。