最近开始尝试使用 NLog,我突然想到我希望能够将 header 信息添加到日志文件的顶部,例如:
Executable name
File version
Release Date
Windows User ID
etc...
经过一番搜索后,我无法在现有的在线文档或代码论坛中找到任何表明此类功能的内容。这可能吗?我以前总是将此类信息包含在日志文件中,并且发现它在过去的许多情况下都很有用,在客户站点获取有关生产问题的信息时。不可否认,此功能是为解决方案定制构建的,而不是基于任何当前的 .NET 日志记录框架。
最佳答案
我的一位同事在使用 log4net 创建的日志中查看复制页眉/页脚时,偶然发现了这一点。我从一些开源项目中找到了这个并将其改编为内部示例。我认为根据您的需要进行修改应该很简单。
<target name="logfile2" xsi:type="File" fileName="Logs\NLogDemo2.txt">
<layout xsi:type="LayoutWithHeaderAndFooter">
<header xsi:type="SimpleLayout" text="----------NLog Demo Starting---------
"/>
<layout xsi:type="SimpleLayout" text="${longdate}|${level:uppercase=true}|${logger}|${message}" />
<footer xsi:type="SimpleLayout" text="----------NLog Demo Ending-----------
"/>
</layout>
</target>
它给我的输出看起来像这样:
----------NLog Demo Starting---------
2013-03-01 16:40:19.5404|INFO|Project.Form1|Sample informational message
2013-03-01 16:40:19.5714|WARN|Project.Form1|Sample warning message
2013-03-01 16:40:19.5714|ERROR|Project.Form1|Sample error message
2013-03-01 16:40:19.5714|FATAL|Project.Form1|Sample fatal error message
----------NLog Demo Ending-----------
我不知道为什么这似乎没有记录。我能找到的唯一引用是这里:https://github.com/nlog/NLog/wiki/LayoutWithHeaderAndFooter
-乔迪
关于c# - Nlog - 为日志文件生成 header 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4196663/