如何设置log4net以便它不记录某些属性?

时间:2014-11-12 15:19:47

标签: c# log4net

我正在使用visual studio 2008,.net framework 3.5,c#,windows 7上的解决方案。我已经创建了一个log4net库,可以写入这样的文件:

2014-11-11 16:33:31,387 [7] DEBUG Utilities.Log.Debug():24 - 来自App的消息

我想在写入时删除一些属性,以便它像这样写:

2014-11-11 16:33:31,387 - 来自App的消息

基本上我想删除[7]号码,项目名称和方法名称,以及方法在应用程序中的代码行。

我搜索了文档,但无法找到与此问题相关的任何内容。

我该怎么办?

感谢。

2 个答案:

答案 0 :(得分:2)

您的log4net配置文件(例如,Log4Net.config)应至少包含一个<appender>部分,<conversionPattern>嵌套在<layout>下。例如,要登录控制台:

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
  <target value="Console.Out" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
  </layout>
</appender>

如果你想要的只是日期和记录的消息,你的<conversionPattern>应该只有value="%date - %message%newline"

有关详细信息,请参阅the PatternLayout Class documentation

答案 1 :(得分:1)

在.config文件中搜索log4net.Appender.FileAppender。你应该有这样的东西:

<log4net>
    <appender name="TextFileAppender" type="log4net.Appender.FileAppender">
        <file value="Logs/Logger.log" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date{dd.MM.yyyy HH:mm:ss} [%identity] %-5level %class.%method: %message%newline" />
        </layout>
    </appender>
</log4net>

检查conversionPattern并更改它以更改记录的消息。