如何将目录传递到 NLog.config?

用户可以设置一个全局变量来定义 NLog 将记录文件的位置。但是,我不知道如何将该变量传递给NLog.config.

我希望能够像使用它一样使用它${basedir},而是让它成为${userdir}。我认为这是可行的,而不必event-properties每次登录时都使用变量,但我不知道如何。我想在写的时候定义一次

static private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

有谁知道这是否可行?


慕尼黑8549860
浏览 179回答 1
1回答

萧十郎

有几种方法可以将(上下文)信息传递给 NLog。我认为这种情况下“GDC”(GlobalDiagnosticsContext)是最好的方法:在您的代码中设置:GlobalDiagnosticsContext.Set("userdir",&nbsp;myDirectory);nlog.config 中的用法:&nbsp;<target&nbsp;name="file"&nbsp;xsi:type="File" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileName="${gdc:item=userdir}/${shortdate}.log"&nbsp;...&nbsp;/>请参阅GDC 文档
打开App,查看更多内容
随时随地看视频慕课网APP