天天看點

Log4net——Appenders sql資料庫日志

MSSql資料庫日志

建立日志記錄表,這個随便了。現在提供官網示例中的資料庫

CREATE TABLE [dbo].[Log] (

    [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

)

(一)輸出源設定(Appenders)

<appender xmlns="" name="apenderforLog"  type="log4net.Appender.AdoNetAppender">

    <bufferSize value="100" />

    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

    <connectionString value="database=selfTest;server=.;initial catalog=selfTest;User ID=sa;Password=***" />

    <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>

      <parameterName value="@thread" />

      <dbType value="String" />

      <size value="255" />

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%thread" />

      </layout>

      <parameterName value="@log_level" />

      <size value="50" />

        <conversionPattern value="%level" />

      <parameterName value="@logger" />

        <conversionPattern value="%logger" />

      <parameterName value="@message" />

      <size value="4000" />

        <conversionPattern value="%message" />

      <parameterName value="@exception" />

      <size value="2000" />

      <layout type="log4net.Layout.ExceptionLayout" />

  </appender>

(二)說明一下

·connectionType 連接配接類型

·connectionString連接配接字元串

·commandText日志寫入語句

然後提供各個參數,并為每個參數指派

(三)測試

   mylog.Info("開始記錄日志……");

   mylog.Error("使用者多次登入不成功!");

   mylog.Info("日志追加結束.");

結果在資料庫中可以看到

Id  Date    Thread              Level   Logger              Message     Exception

1   2009-12-11 09:16:44.610 TestRunnerThread    INFO    Log4netTest.UTest   開始記錄日志……   

2   2009-12-11 09:16:44.657 TestRunnerThread    ERROR   Log4netTest.UTest   使用者多次登入不成功!  

3   2009-12-11 09:16:44.657 TestRunnerThread    INFO    Log4netTest.UTest   日志追加結束. 

部落格園大道至簡

http://www.cnblogs.com/jams742003/

轉載請注明:部落格園