2015-07-21 14 views
0

log4net.config我有以下定義我的記錄:log4net的使用文件路徑工程大會信息

<!-- 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> 

是否有使用該項目的Assembly.cs信息的方式,讓我來樣訂做日誌路徑:

<file value="${ProgramData}\\${AssemblyCompany}\\${AssemblyProduct}\\log\\Debug" /> 

回答

1

可以使用的log4net的GlobalContext與文件配置一個Pattern Layout一起做到這一點。

所以在配置之前,您設置的值(有讓他們從集信息here的例子)

// Properties must be set before configuration 

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

log4net.Config.XmlConfigurator.Configure(…); 

然後在配置(注意文件類型必須是PatternString):

<file type="log4net.Util.PatternString" 
     value="${ProgramData}\%property{Company}\%property{Product}\Log\Debug\log.log" /> 

這將評估爲C:\ProgramData\Company Name\Product Name\Log\Debug\log.log

+0

謝謝,工作完美! – BrianKE