Log4net无法访问转换模式中传递的属性

时间:2018-04-16 21:16:31

标签: c# logging windows-7 log4net

我在我的所有开发和生产系统中都使用Log4net写入RollingFileAppender,并且它已经在几个发行版本中这样做了。我最近更新(即删除并重新安装)销售人员笔记本电脑上安装的应用程序版本,现在Log4net在遇到%property{propname}转换模式时中止每个Write操作。转换模式中第一个%property项之前的所有内容(如%date%message)都会正确记录该调用,但之后没有任何内容。

使用ThreadContext Stack传递属性,基本上是这样的:

using (ThreadContext.Stacks["EventID"].Push(eventIDstr))
using (ThreadContext.Stacks["CategoryID"].Push(categoryIDstr))
{
    log.Debug(message, exception);
}

我最近在构建一台新的开发机器时看到了同样的行为,我认为它是通过我之后做的一个Windows更新或其他软件包安装解决的,但我真的没有具体线索解决了什么问题它除了知道它与我的代码或配置文件(所有都保持不变)无关。什么DLL或其他文件/程序集可能是罪魁祸首?

1 个答案:

答案 0 :(得分:0)

发现它!安装.NET Framework 4.5就可以了。仅使用Framework 4.0,它无法正常工作。