c# .net 如何使用log4net記錄日誌

來源:互聯網
上載者:User

官方提供的下載中包含有詳盡的說明文檔。 

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>

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.