C#Log4Net - 以编程方式动态更改日志目录

Jef*_*eff 5 c# directory configuration logging log4net

我阅读了有关以编程方式更改日志目录的大多数相关主题,但答案有点高级.

我的问题是尝试动态更改从我的C#应用​​程序保存日志文件的位置.我有一个带有浏览按钮的文本框,可以选择保存的位置.

任何人都有想法或者可以用一些代码指出我正确的方向?我尝试过类似的想法,但似乎无法做到正确.

Avi*_*jee 12

如果您希望将日志文件放在指定位置(将在运行时决定)可能是您的项目输出目录,那么您可以以这种方式配置.config文件条目

file type="log4net.Util.PatternString" value="%property{LogFileName}.txt"
Run Code Online (Sandbox Code Playgroud)

然后在调用log4net configure之前的代码中,设置如下所示的新路径

log4net.GlobalContext.Properties["LogFileName"] = @"E:\file1"; //log file path 
log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)

因此,如果您的要求是如此频繁地更改日志目录,那么每次都会更新属性值.Configure().