如何将目录传递到 NLog.config?
How do you pass a directory into NLog.config?
用户可以设置一个全局变量来定义 NLog 记录文件的位置。但是,我不知道如何将该变量传递给 NLog.config
。
我希望能够像 ${basedir}
一样使用它,但我希望它是 ${userdir}
。我认为这是可行的,而不必每次登录时都使用 event-properties
传递变量,但我不知道如何。我想在写
的时候定义一次
static private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
有人知道这是否可行吗?
有几种方法可以将(上下文)信息传递给 NLog。我认为在这种情况下 "GDC" (GlobalDiagnosticsContext) 是最好的方法:
在您的代码中设置:
GlobalDiagnosticsContext.Set("userdir", myDirectory);
在nlog.config中的用法:
<target name="file" xsi:type="File"
fileName="${gdc:item=userdir}/${shortdate}.log" ... />
用户可以设置一个全局变量来定义 NLog 记录文件的位置。但是,我不知道如何将该变量传递给 NLog.config
。
我希望能够像 ${basedir}
一样使用它,但我希望它是 ${userdir}
。我认为这是可行的,而不必每次登录时都使用 event-properties
传递变量,但我不知道如何。我想在写
static private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
有人知道这是否可行吗?
有几种方法可以将(上下文)信息传递给 NLog。我认为在这种情况下 "GDC" (GlobalDiagnosticsContext) 是最好的方法:
在您的代码中设置:
GlobalDiagnosticsContext.Set("userdir", myDirectory);
在nlog.config中的用法:
<target name="file" xsi:type="File"
fileName="${gdc:item=userdir}/${shortdate}.log" ... />