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次這段代碼?
非常感謝這個答案。使用這種方法,我們失去了配置文件提供的靈活性,但我將能夠自動填充日誌文件。 – Mezzo