我正在使用C#編寫一個內部應用程序,我們一直試圖找出解決這個問題幾天。我們使用Log4Net v1.2.15.0編譯.Net v4.5.2。我有兩個滾動文件appender,EventsLogger和SitrepLogger,它們都被設置爲寫入網絡。我已經證實,這確實按預期工作,但是當我打電話給一個appender(無關緊要)寫出時,它會寫入EventsLogger和SitrepLogger文件。這是從我的app.configC#Log4Net寫入這兩個Appenders
<log4net>
<appender name="EventsLogger" type="log4net.Appender.RollingFileAppender">
<file name="File" value="\\TS-WXLF41\Project\Ambushed\${USERNAME}\EventsLog" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="1MB" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<param name="StaticLogFileName" value="false"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="_MM-dd-yy.\tx\t" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%newline%date{HH:mm:ss tt} %message" />
</layout>
</appender>
<appender name="SitrepLogger" type="log4net.Appender.RollingFileAppender">
<file name="File" value="\\TS-WXLF41\Project\Ambushed\${USERNAME}\logs\sitrep" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="1MB" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<param name="StaticLogFileName" value="false"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="_MM-dd-yy.\tx\t"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%newline%date{HH:mm:ss tt} %message" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="EventsLogger" />
<appender-ref ref="SitrepLogger" />
</root>
</log4net>
在我的程序的入口點構造器的相關數據我叫log4net.Config.XmlConfigurator.Configure();我很確定按預期工作。除此之外,我不會在代碼中的其他任何地方調用配置。在我的入口點類的成員中,我呼叫private static readonly log4net.ILog logger = log4net.LogManager.GetLogger("SitrepLogger");
來獲取我的程序(入口點)類所需的記錄器。在我的其他課程中,我使用EventsLogger,因此我在這些類的成員中調用private static readonly log4net.ILog eventslogger = log4net.LogManager.GetLogger("EventsLogger");
。我不會每次給GetLogger打電話一次,我確信我通過調用eventslogger.Info()
來調用正確的appender,這對我們來說工作正常(使用多個appender來寫入不同的文件),但是我們做了很多很多從那時起,我們試圖恢復到沒有成功的變化。編譯時沒有錯誤,沒有警告,也沒有消息。預先感謝您的一切! :)
謝謝你,喬!這對我們有效!我非常感謝你的幫助。我也將深入研究Apache的Log4Net文檔以獲得更好的理解。 我收到了一些關於我的app.config的警告。 「警告元素'root'包含不完整的內容。期望可能的元素列表:'appender-ref'。」 和 「警告元素'log4net'具有無效的子元素'記錄器'。」 –