我使用了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>
,日志将是:
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: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.
...
有什么想法吗?感谢。
答案 0 :(得分:20)
选择的答案比实际需要的要困难得多。我不确定在最初询问问题时它是否不存在,但正确的方法是在appender的布局中使用<header>
或<footer>
。像这样:
<layout type="log4net.Layout.PatternLayout">
<footer value=" " />
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
这将在每个日志记录运行中插入一个空白行作为页脚。更多细节在这里:http://logging.apache.org/log4net/release/faq.html#layout-header-xml-newlines
答案 1 :(得分:6)
Log.Debug(Environment.Newline);
答案 2 :(得分:3)
你需要一个特殊的appender。这里有一个配置示例
<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>
此配置允许插入WHITE LINE,COMPLETELY WHITE(&lt; conversionPattern value =“%message%newline”/&gt;)
要记录的代码是
LogManager.GetLogger("MyLogger").Info("");
最后评论:这可以让你做我认为你想要的但我不会在自己的发展中做到这一点:-)如果我误解了你的问题请告诉我
EDIT1 此外观/记录器已添加到现有配置中。它仅用于生成您需要的白线。对于其余的日志记录,您将使用以前存在的记录器/追加器,
答案 3 :(得分:2)
更改
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
与
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline%newline" />
</layout>
这将在文件末尾添加两个换行符。第一个将作为新行存在,第二个作为下一个日志的起点。