簡體   English   中英

NLog ReconfigExistingLoggers 創建新日志?

[英]NLog ReconfigExistingLoggers creating new log?

我正在使用 Nlog,我需要更改默認日志的名稱以包含公司名稱等信息。 我很久以前在控制台應用程序上使用過這段代碼,它按預期重命名了文件。

我現在嘗試在新應用程序中使用相同的代碼,它正在創建一個新的日志文件,而不是僅僅重命名當前的。 例如,我現在有兩個文件( 2019-10.07.log2019-10-07_CompanyName.log )。 默認日志將有很少的初始日志條目,然后將剩余的日志 go 放入新日志中。

尋找任何建議。 我一直在尋找修復程序,但一切都讓我回到了我已經在使用的代碼。

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();

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

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

不幸的是,在進行大量日志記錄時有點棘手,因為 NLog 將重新創建舊的日志文件,直到目標被更改。

NLog 可以從 app.config 或 appsettings.json 加載設置(如公司名稱)。

只需更新您的 NLog.config 以引用該設置。 前任。

<target type="file" name="myfile" fileName="${appsetting:CompanyName}${shortdate}.log" />

另請參閱: https://github.com/NLog/NLog/wiki/AppSetting-Layout-Renderer (網絡框架)

另請參閱:https://github.com/NLog/NLog/wiki/ConfigSetting-Layout-Renderer (網絡核心)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM