最近在做.NET的項目,今天閑暇無事,特将log4net的配置整理一下,下面是關于log4net的相關配置:
1.使用者先從網上下載下傳log4net.dll檔案,将其包含在工程的引用檔案中。
2.在app.config中添加以下配置:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.2"/>
</configSections>
<log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type=" log4net.Appender.RollingFileAppender">
<file value="log/his_log.txt" />
<appendToFile value="true" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<rollingStyle value="Size" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Header] " />
<footer value="[Footer] " />
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="log/log-file.txt" />
<!-- Example using environment variables in params -->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<!-- <file value="${TMP}/log-file.txt" /> -->
<appendToFile value="true" />
<!-- An alternate output encoding can be specified -->
<!-- <encoding value="unicodeFFFE" /> -->
<layout type="log4net.Layout.PatternLayout">
<header value="[Header] " />
<footer value="[Footer] " />
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
<!-- Alternate layout using XML
<layout type="log4net.Layout.XMLLayout" /> -->
</appender>
<appender name="ConsoleAppender" type=" log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="All" />
<!--<appender-ref ref="LogFileAppender" />-->
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
<!-- <appender-ref ref="ADONetAppender_SqlServer" /> -->
<!--<appender-ref ref="NetSendAppender" />-->
<!-- <appender-ref ref="A" /> -->
</root>
<!-- Specify the level for some specific categories -->
<!--
<logger name="Test.SimpleClass">
<level value="ERROR" />
<appender-ref ref="RollingLogFileAppender" />
</logger>
-->
</log4net>
3.雖然app.config中的配置已經完成,但是此時log還不能正确的輸出,還需要在工程的AssemblyInfo.vb檔案中添加<Assembly: log4net.Config.xmlConfigurator()>
以上完成後,log就可以正常輸出了。^.^
4.由于項目采用clickonce安裝用戶端,是以将前端的log儲存在目前登入使用者的Local Settings/Temp下。
要實作其功能隻需将file value設為:<file value="${TMP}/log-file.txt" />,log4net會讀取PC的環境變量中TMP的值。
注: <maxSizeRollBackups value="10" />設定儲存檔案的個數
<maximumFileSize value="10MB" />設定每個檔案的大小