AdoNetAppender

詳情參考 log4net.Appender. AdoNetAppender SDK文檔

AdoNetAppender的相關配置內容取決於目標數據庫的provider。下面僅提供SQL Server 2000的例子。

首先建立數據表:

CREATE TABLE [dbo].[Log]
 (
    
[Id] [int] IDENTITY (11NOT NULL,
    
[Date] [datetime] NOT NULL,
    
[Thread] [varchar] (255NOT NULL,
    
[Level] [varchar] (50NOT NULL,
    
[Logger] [varchar] (255NOT NULL,
    
[Message] [varchar] (4000NOT NULL,
    
[Exception] [varchar] (2000NULL
)

然後添加配置:

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
    
<bufferSize value="2" />
    
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089" />
    
<connectionString value="server=(local);database=TestBase;integrated security=false;persist security info=True;UID=sa;PWD=" />
    
<commandText value="INSERT INTO Log ([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>

bufferSize表示批處理的日誌事件,可以避免每次日誌事件都訪問數據庫;ConnectionType指定了要使用的IDbConnection的完全限定類型名稱;connectionString表示連接字符串;CommandText是SQL語句或存儲過程;最後一組parameter節點描述了SQL語句或存儲過程需要的參數。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章