Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# log4net:将头写入每个滚动日志段_C#_.net_Logging_Log4net - Fatal编程技术网

C# log4net:将头写入每个滚动日志段

C# log4net:将头写入每个滚动日志段,c#,.net,logging,log4net,C#,.net,Logging,Log4net,我有一个RollingFileAppender,当日志文件达到指定的文件大小时,它会在日志文件上滚动。这很有效 有没有办法让log4net在每个新创建的日志文件的顶部插入一个头?或者,是否有一种方法可以在发生翻滚时由log4net通知,以便我可以自己编写此标题?我认为您可能必须为此扩展一个appender或编写自己的appender。这似乎可行: <layout type="log4net.Layout.PatternLayout"> <header value="[

我有一个RollingFileAppender,当日志文件达到指定的文件大小时,它会在日志文件上滚动。这很有效


有没有办法让log4net在每个新创建的日志文件的顶部插入一个头?或者,是否有一种方法可以在发生翻滚时由log4net通知,以便我可以自己编写此标题?

我认为您可能必须为此扩展一个appender或编写自己的appender。

这似乎可行:

<layout type="log4net.Layout.PatternLayout">
     <header value="[Header]&#13;&#10;" />
     <conversionPattern value=" ... " />
</layout>


虽然如果重新启动应用程序,它也会写入头。

但是(从文档中)头是在日志会话开始时添加的——不一定是新滚动日志文件的开始。我的测试表明,它们也会写入每个文件中。我还查看了源代码,发现情况就是这样。是否有可能向页眉/页脚添加模式字符串?例如,
%logger
我认为这是不受支持的,但这个答案可能会帮助您:如何在页脚log4net中添加%property{hostname}@斯特凡涅利