2011-07-07 170 views
2

我有一個VB控制檯應用程序,我試圖動態命名我的FileAppender的log4net輸出文件。log4net動態配置

正在創建日誌文件並且它具有適當的內容,問題是正在使用名稱「%property {LogFilePath}」創建該文件。換句話說,它根本沒有做字符串替換。

在app.config中:

<log4net> 
    <appender name="myAppender" type="log4net.Appender.FileAppender"> 
     <file value="%property{LogFilePath}" /> 
     <appendToFile value="false" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date %-5level - %message%newline" /> 
     </layout> 
    </appender> 

    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="myAppender" /> 
    </root> 
</log4net> 

在我的VB文件:

Private _logger As ILog 

Private Sub InitializeLogger() 
    log4net.GlobalContext.Properties("LogFilePath") = "C:\Logs\myLog.log" 
    XmlConfigurator.Configure() 
    _logger = LogManager.GetLogger("myAppender") 
End Sub 

總括來說,正在創建日誌文件,它確實有預期的內容,唯一的問題是,日誌文件名稱保留爲「%property {LogFilePath}」,而不是被替換爲「C:\ Logs \ myLog.log」

任何幫助將不勝感激:)

回答