这是我用来传递文件路径并从其他Web应用程序在DLL(类库)中的NLOG.config文件中提供文件路径以生成日志文件的代码。但是我无法做到这一点。
string filePath = path;
var target = (FileTarget)LogManager.Configuration.FindTargetByName("logFile");
target.FileName = "" + filePath + "/current.log";
LogManager.ReconfigExistingLoggers();
答案 0 :(得分:1)
通常,整个应用程序只有一个全局NLog.config。
与修改活动NLog-config中的单个目标相比,我认为修改NLog全局变量更容易。
https://github.com/NLog/NLog/wiki/Gdc-layout-renderer
https://github.com/NLog/NLog/wiki/Var-Layout-Renderer
您可以这样做:
<target type="file" filename="${gdc:item=MyAppPath}current.log" />
然后在启动时执行以下命令来修改GDC:
NLog.GlobalDiagnosticsContext.Set("MyAppPath", filePath + "/");