2016-11-23 77 views
0

在C#代碼中,我需要創建多個具有不同名稱的log4net記錄器來區分所寫的日誌。一個記錄器可以稱爲MyNamespace.MyClass.1,另一個稱爲MyNamespace.MyClass.2等。然後將日誌寫入多個文件中:MyNamespace.MyClass.1.log,MyNamespace.MyClass.2.log等。使用log4net自動創建appender

問題是,必須在配置中手動添加段落,每個段落只對應一個記錄器名稱。

<appender name="logger1" type="log4net.Appender.RollingFileAppender"> 
    <file value="Logs/MyNamespace.MyClass.1.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maximumFileSize value="2MB" /> 
    <maxSizeRollBackups value="10" /> 
    <staticLogFileName value="true" /> 
    <threshold value="INFO" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %level %logger %ndc: %message (%file:%line)%newline" /> 
    </layout> 
</appender> 

<logger name="MyNamespace.MyClass.1"> 
    <level value="INFO" /> 
    <appender-ref ref="logger1" /> 
</logger> 

有沒有一種解決方案來推廣n記錄器,而不寫n次這段代碼?

回答