为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕尼黑8549860 2022-01-15 15:32:33
用户可以设置一个全局变量来定义 NLog 将记录文件的位置。但是,我不知道如何将该变量传递给NLog.config.我希望能够像使用它一样使用它${basedir},而是让它成为${userdir}。我认为这是可行的,而不必event-properties每次登录时都使用变量,但我不知道如何。我想在写的时候定义一次static private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();有谁知道这是否可行?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

有几种方法可以将(上下文)信息传递给 NLog。我认为这种情况下“GDC”(GlobalDiagnosticsContext)是最好的方法:

在您的代码中设置:

GlobalDiagnosticsContext.Set("userdir", myDirectory);

nlog.config 中的用法:

 <target name="file" xsi:type="File"
         fileName="${gdc:item=userdir}/${shortdate}.log" ... />

请参阅GDC 文档


查看完整回答
反对 回复 2022-01-15
  • 1 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信