繁体   English   中英

NLog OnNewLogFile 处理程序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM