log4net:使用AssemblyInfo.cs变量

时间:2014-08-01 12:55:25

标签: c# wpf log4net filepath

有没有办法从log4net config标签中访问汇编变量?目前我们按如下方式指定日志文件夹:

  <!-- Setup Rolling Log File to log all information -->
  <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="${ProgramData}\\MyCompany\\MyProduct\\log\\Debug" />
    <appendToFile value="true"/>
    ....

有没有办法用一个变量替换MyCompany和MyProduct,然后从项目的AssemblyInfo.cs文件中读取值?类似'$ {ProgramData}'的东西。

我已经看过关于如何设置log4net变量的帖子,我稍后可以参考,但我希望在许多项目中重用这个配置文件而不必修改代码。

1 个答案:

答案 0 :(得分:0)

在value属性中使用%property {propname}。然后在您的启动时设置您的属性值:

GlobalContext.Properties["propname"] = "My Value";
log4net.Config.XmlConfigurator.Configure();

您需要在配置log4net之前执行此操作(如上所示)

重新阅读您的问题,您可能已经看过类似的内容。不知道如果没有一些编码,你还期望它如何神奇地工作。