NLog ReconfigExistingLoggers创建新日志?

问题描述 投票:0回答:1

我正在使用Nlog,我需要更改默认日志的名称以包含诸如公司名称之类的信息。我很久以前在一个控制台应用程序上使用了此代码,它按预期重命名了该文件。

我现在正在尝试在新应用中使用相同的代码,它正在创建一个新的日志文件,而不仅仅是重命名当前文件。例如,我现在有两个文件(2019-10.07.log2019-10-07_CompanyName.log)。默认日志将只有很少的初始日志条目,然后将其余的日志放入新日志中。

正在寻找任何建议。我一直在寻找修复程序,但一切都使我回到了我已经在使用的代码。

NLog v4.6.7

fileNameOnly = "CompanyName";
FileTarget defaultTarget = FindNLogTargetByName("DefaultTarget");
defaultTarget.FileName = logDirectory + string.Format("{0:yyyy-MM-dd}", DateTime.Now) + "_" + fileNameOnly + ".log";

LogManager.ReconfigExistingLoggers();
c# nlog
1个回答
0
投票

NLog不支持重命名现有文件。如果使用了新文件名,则所有日志都将附加到新文件中。

因此,对于文件名,您需要使用System.IO.File.Move(path, pathnew)并更改NLog。

不幸的是,在进行大容量日志记录时有点棘手,因为NLog会重新创建旧的日志文件,直到更改目标为止。

© www.soinside.com 2019 - 2024. All rights reserved.