2010-07-08 200 views
4

我通过大部分有关以编程方式更改日志目录的相关主题阅读,但答案稍微先进。C#Log4Net - 以编程方式动态更改日志目录

我的问题是试图动态更改我的日志文件从我的C#应用​​程序中保存的位置。我有一个带有浏览按钮的文本框来选择它应该保存的位置。

任何人有一个想法,或可以指向我的一些代码正确的方向吗?我试着玩类似的想法,但似乎无法做到。

谢谢你的帮助。

杰夫

回答

11

如果你希望你的日志文件是在一个指定的位置,这将在运行时决定可能是你的项目输出目录,那么你可以配置在这样的config文件入口的地方

file type="log4net.Util.PatternString" value="%property{LogFileName}.txt" 

,然后呼吁log4net的配置之前的代码,设置如下图所示

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

所以,如果你的要求改变日志文件目录的新路径ectory如此频繁地更新,每次更新属性值后跟着.Configure()

+1

注意:这不是线程安全的。 – Sameer 2015-09-02 04:54:12

+0

并且它在AssemblyInfo.cs中为log4net定义配置文件时不起作用 – 2017-03-02 08:15:40

相关问题