我正在尝试自定义log4net文件路径以使用我在log4net.GlobalContext.Properties
字典中设置的属性.
log4net.GlobalContext.Properties["LogPathModifier"] = "SomeValue";
我可以看到在通过它调试时正确设置了这个值.然后在我的配置中
但是,这个输出给了我路径末尾的"_(null).log".是什么赋予了?
我遇到了相同的行为并通过在调用XmlConfigurator之前设置全局变量来解决它...这是我成功使用的:
log4net.config详细信息:
...
Global.asax详细信息:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger("Global.asax"); void Application_Start(object sender, EventArgs e) { // Set logfile name and application name variables log4net.GlobalContext.Properties["LogName"] = GetType().Assembly.GetName().Name + ".log"; log4net.GlobalContext.Properties["ApplicationName"] = GetType().Assembly.GetName().Name; // Load log4net configuration System.IO.FileInfo logfile = new System.IO.FileInfo(Server.MapPath("log4net.config")); log4net.Config.XmlConfigurator.ConfigureAndWatch(logfile); // Record application startup log.Debug("Application startup"); }
希望这可以帮助...
将type =添加log4net.Util.PatternString
到File元素中