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;
吾生也有涯,而知也无涯,以有涯随无涯,殆已。