C# 使用项目程序集信息的log4net文件路径

C# 使用项目程序集信息的log4net文件路径,c#,.net,log4net,C#,.net,Log4net,我在log4net.config中定义了以下记录器: <!-- Setup Rolling Log File to log all information --> <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender" > <file value="${ProgramData}\\My Company\\My Product\\log\\Debug"

我在
log4net.config
中定义了以下记录器:

  <!-- Setup Rolling Log File to log all information -->
  <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="${ProgramData}\\My Company\\My Product\\log\\Debug" />
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <datePattern value="_yyyy-MM.\tx\t"/>
    <staticLogFileName value="false"/>
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %-5level - %message%newline" />
    </layout>
  </appender>

您可以通过在文件配置中使用log4net和

因此,在配置之前,请设置值(这里有一个从AssemblyInfo获取值的示例)

然后在配置中(注意文件类型必须是
PatternString
):


这将计算为
C:\ProgramData\Company Name\Product Name\Log\Debug\Log.Log

<file value="${ProgramData}\\${AssemblyCompany}\\${AssemblyProduct}\\log\\Debug" />
// Properties must be set before configuration

log4net.GlobalContext.Properties["Company"] = "Company Name";
log4net.GlobalContext.Properties["Product"] = "Product Name";

log4net.Config.XmlConfigurator.Configure(…);
 <file type="log4net.Util.PatternString" 
       value="${ProgramData}\%property{Company}\%property{Product}\Log\Debug\log.log" />