如何使用log4net在日志文件中添加空行?

Jol*_*ian 10 c# log4net winforms

我用过RollingFileAppender.我想在程序启动时向日志添加一个空行.怎么做?谢谢.

编辑:好的,谢谢大家.对不起我提出的疑惑问题.我来解释一下.我按如下方式配置log4net:

<log4net>
  <appender name="MyFileAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="ClientLog.log" />
    <param name="AppendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%date{yyyy/MM/dd HH:mm:ss},%5p,%m%n" />
    </layout>
  </appender>

  <logger name="GlobalUse" >
    <level value="Info"/>
    <appender-ref ref="MyFileAppender" />
  </logger>

</log4net>
Run Code Online (Sandbox Code Playgroud)

并且日志将是:

2010/03/27 13:55:27, INFO, Program start.
2010/03/27 13:55:29, INFO, Program end.
2010/03/27 13:56:30, INFO, Program start.
2010/03/27 13:56:32, INFO, Program end.
Run Code Online (Sandbox Code Playgroud)

我希望使日志看起来像这样:

2010/03/27 13:55:27, INFO, Program start.
2010/03/27 13:55:29, INFO, Program end.

2010/03/27 13:56:30, INFO, Program start.
2010/03/27 13:56:32, INFO, Program end.

2010/03/27 13:57:30, INFO, Program start.
...
Run Code Online (Sandbox Code Playgroud)

任何的想法?谢谢.

Nic*_*ick 22

选择的答案比它需要的要困难得多.我不确定在最初询问问题时它是否不存在,但是正确的方法是使用<header>或者<footer>在appender的布局中.像这样的东西:

<layout type="log4net.Layout.PatternLayout">
  <footer value="&#13;&#10;" />
  <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
Run Code Online (Sandbox Code Playgroud)

这将在每个日志记录运行中插入一个空白行作为页脚.更多细节在这里:http://logging.apache.org/log4net/release/faq.html#layout-header-xml-newlines


Rus*_*een 6

Log.Debug(Environment.Newline);


Cla*_*edi 3

你需要一个特殊的附加器。这里有一个配置示例


<log4net>
  ...
  <appender name="MyRollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="C:\temp\mylog.log" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyyMMdd" />
    <staticLogFileName value="true" />
    <maximumFileSize value="2MB" />
    <maxSizeRollBackups value="20" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message%newline" />
    </layout>
  </appender>

  <logger name="MyLogger">
    <level value="Info" />
    <appender-ref ref="MyRollingLogFileAppender" />
  </logger>  
  ...
</log4net>
Run Code Online (Sandbox Code Playgroud)

此配置允许插入白线,完全白色 (<conversionPattern value="%message%newline" />)

记录的代码是

LogManager.GetLogger("MyLogger").Info("");

最后一条评论:这允许你做我认为你想做的事情,但我不会在我自己的开发中这样做:-)如果我误解了你的问题,请告诉我

EDIT1此附加程序/记录器已添加到您现有的配置中。它将仅用于生成您需要的白线。对于其余的日志记录,您将使用以前存在的记录器/附加器,