1. 程式人生 > 其它 >Nlog動態修改日誌儲存地址

Nlog動態修改日誌儲存地址

2021年6月左右版本,實測有效

1、配置檔案

變數logDirectory代表日誌儲存地址
  <targets async="true">
    <target name="csv" xsi:type="File" fileName="${gdc:item=logDirectory}/${shortdate}.csv"
            createDirs="true" keepFileOpen="true" autoFlush="false"
            maxArchiveFiles="1000"
            archiveAboveSize
="10485760" archiveEvery="Day"> <layout xsi:type="CSVLayout" delimiter="auto" withHeader="true" autoreload ="true"> <column name="Time" layout="${date:format=yyyy-MM-dd_HH\:mm\:ss.fffffff}" quoting="Nothing" /> <column name="Level" layout="${level}" quoting="
Nothing"/> <column name="Station" layout="${gdc:item=station}" quoting="Nothing"/> <column name="Message" layout="${message}" quoting="Nothing"/> </layout> </target> </targets>

2、修改程式碼

呼叫Logger.Info(logStr);前,按以下程式碼修改,特別是最後一句,特別關鍵,其他方式更新config都不管用

 NLog.GlobalDiagnosticsContext.Set("logDirectory", @"D:\zz\D
");
            LogManager.Configuration = LogManager.Configuration;
吾生也有涯,而知也無涯,以有涯隨無涯,殆已。