1

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

<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:'的地方我曾经有%message,但对于滚动文件,我只想要少量的细节。其他附加程序将记录更详细的信息。

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

知道为什么吗?

我努力了:

  1. 重建项目
  2. 重置 IIS
  3. 删除 %message
  4. 启用内部日志记录,一切看起来都很好
4

1 回答 1

2

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

<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 认为您的布局输出了异常,因此它不会被打印为额外的行。

于 2013-09-05T12:47:41.570 回答