本文介绍了Log4Net动态文件名不适用于GlobalContext的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这真的开始困扰我了。我只是尝试将属性变量添加到log4Net文件名中。我做错了什么?

配置如下:

 <appender name="logger1" type="log4net.Appender.FileAppender">
    <file type="log4net.Util.PatternString" value="C:	empfile_%property{foo}.log" />
    <appendToFile value="true" />         
    <Layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%newline%date --- %message%newline" />
    </Layout>    
 </appender>

代码如下:

string foo= "bar";
log4net.GlobalContext.Properties["foo"] = foo;
_logger.ErrorFormat("test");

生成的日志名称为文件-(空).log

有没有人看到我遗漏了什么?否则在我看来这就是个错误。

推荐答案

Answer here

您必须在创建记录器之前设置该属性。

这篇关于Log4Net动态文件名不适用于GlobalContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 05:50