当前位置:  开发笔记 > 编程语言 > 正文

如何在log4net appender名称中使用GlobalContext属性?

如何解决《如何在log4netappender名称中使用GlobalContext属性?》经验,为你挑选了2个好方法。

我正在尝试自定义log4net文件路径以使用我在log4net.GlobalContext.Properties字典中设置的属性.

log4net.GlobalContext.Properties["LogPathModifier"] = "SomeValue";

我可以看到在通过它调试时正确设置了这个值.然后在我的配置中


但是,这个输出给了我路径末尾的"_(null).log".是什么赋予了?



1> Dscoduc..:

我遇到了相同的行为并通过在调用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");
}

希望这可以帮助...



2> 小智..:

将type =添加log4net.Util.PatternString到File元素中

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有