繁体   English   中英

NLog-清理具有动态文件名的日志文件

[英]NLog - Cleaning up log files that have dynamic file names

我有一个将通过排队系统接收消息的应用程序,我想将每个消息记录到其自己的文件中,文件名是消息ID。 我想出了如何使用文件名中的事件上下文来完成此操作。

尽管maxArchiveFiles设置没有任何影响,可能是因为我没有归档任何文件。 使用此配置,有什么方法可以利用NLog限制日期或计数的文件数量?

 <target name="testfile" xsi:type="File"
            layout="${message}"
            fileName="c:\SupportLogs\${event-context:item=MessageId}.txt"
            maxArchiveFiles="50"
            keepFileOpen="false"
            encoding="iso-8859-2" />


    NLog.Logger oLogger = NLog.LogManager.GetLogger("Test");
    NLog.LogEventInfo oEvent = new NLog.LogEventInfo(NLog.LogLevel.Debug, "", "My Message");
    oEvent.Properties["MessageId"] = Guid.NewGuid().ToString();
    oLogger.Log(oEvent);

不幸的是,目前这在NLog中是不可能的。 您必须自己清理日志文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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