log4net RollingFileAppender添加了Exception消息,无论我是否想要它

时间:2013-09-05 05:22:06

标签: asp.net-mvc log4net log4net-configuration

我将log4net设置为将信息记录到几个appender,其中一个是具有以下配置的滚动文件appender:

<appender name="AlchemyRollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="App_Data/logs/log-file.txt" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="1MB" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="date: [%date] thread: [%thread] AppDomain: [%appdomain] level: [%level] logger: [%logger] line: [%line] location: [%location] type: [%type] - message:  %newline*******************************************************************%newline*****" />
  </layout>
</appender>

如果你在conversionPattern中看到'message:',我曾经有%消息,但对于滚动文件我只想要少量细节。其他appender将记录更详细的信息。

我删除了%消息,但它继续将完整的异常消息添加到日志文件中。

知道为什么吗?

我试过了:

  1. 重建项目
  2. 重置IIS
  3. 删除%消息
  4. 启用内部日志记录,一切正常

1 个答案:

答案 0 :(得分:0)

您需要修改布局类型并添加行

<ignoresException value="false" />

例如

<appender name="AlchemyRollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="App_Data/logs/log-file.txt" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="1MB" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
    <ignoresException value="false" />
    <conversionPattern value="date: [%date] thread: [%thread] AppDomain: [%appdomain] level: [%level] logger: [%logger] line: [%line] location: [%location] type: [%type] - message:  %newline*******************************************************************%newline*****" />
  </layout>
</appender>

这使得log4net认为您的布局输出异常,因此它不会作为额外的行打印。