[英]NLog OnNewLogFile Handler?
有没有我可以挂钩的事件处理程序或类似的东西,每次 NLog 启动一个新的日志文件时都运行一些代码?
我有一个这样的 NLog 配置:
<target name="logfile" xsi:type="File"
fileName="[stuff]"
layout="[more Stuff]"
maxArchiveFiles="4"
archiveAboveSize="102400" />
我有点想在每个日志文件的开头添加一些元数据(版本号、机器名称等,以便每个日志文件都包含一些上下文信息)
我不希望能够在 NLog 本身中配置此文本,但我希望我可以告诉 NLog 在每次创建新日志文件时运行某个方法。
这是一回事吗?
听起来您真的在寻找 FileTarget 上的Header -Layout。
<target name="logfile" xsi:type="File">
<header>--- ${assembly-version} started on ${longdate} ---</header>
</target>
另见https://github.com/NLog/NLog/wiki/File-target
有些将它与archiveOldFileOnStartup="true"
结合使用,因为 Header 仅在创建文件时打印(确保应用程序重新启动将创建新文件)。
您可以使用FileSystemWatcher 。
FileSystemWatcher 正在监视特定的(您想要的)目录,如果创建了新文件,请使用 FileSystemWatcher 处理此事件
有关更多详细信息: https : //docs.microsoft.com/en-us/dotnet/api/system.io.filesystemwatcher?view=netframework-4.8
“什么版本?”的另一个部分解决方案这个问题的一个方面可能来自:
https://github.com/NLog/NLog/wiki/AssemblyVersion-Layout-Renderer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.