官方提供的下載中包含有詳盡的說明文檔。
http://logging.apache.org/log4net/download_log4net.cgi
需要提示的是如何在自己的WEB或者Winform項目中調用,以節約各位的時間。其實很簡單,只要在:AssemblyInfo.cs中插入如下代碼,即可成功調用
//log4net.config 是設定檔的名稱,可以自行設定
//Watch 是表示在程式運行期間是否監視該設定檔的變動
[assembly: log4net.Config.XmlConfigurator( ConfigFile = "bin\\log4net.config", Watch = true )]
調用樣本:
private static ILog log4User = LogManager.GetLogger( “logger-name” );
log4User.Info( "登入系統" );
設定檔樣本
1、存入sqlserver
View Code
//log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
<appender name="AdoNetAppender_sqlserver" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection" />
<connectionString value="data source=localhost;initial catalog=KioskPisInfo;integrated security=false;persist security info=True;User ID=kiosk;Password=kiosk" />
<commandText value="INSERT INTO L4Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender_sqlserver" />
</root>
</log4net>
<bufferSize value="1" />, bufferSize為緩衝容量,當log4net緩衝的行數超過該值,才會把資料行插入資料庫。
資料庫對應表指令碼
View Code
CREATE TABLE [dbo].[L4Log] (
[Id] [int] IDENTITY (1, 1) NOT NULL,
[Date] [datetime] NOT NULL,
[Thread] [varchar] (255) NOT NULL,
[Level] [varchar] (50) NOT NULL,
[Logger] [varchar] (255) NOT NULL,
[Message] [varchar] (4000) NOT NULL,
[Exception] [varchar] (2000) NULL
)
2、存入文本中
View Code
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="c:\kiosklog\ws.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="600KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="發生時間:%date%n事件層級:%-5level%n事件來源:%logger%n日誌內容:%m%n------------------------------%n" />
</layout>
</appender>
<root>
<level value="WARN" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>