- 项目中引入log4net.dll
- Global.asax.cs 中加入
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)] - Global.asax.cs 的 Application_Start() 方法中加入
log4net.Config.XmlConfigurator.Configure(); - 项目中新建一个 log4net 的配置文件 App.dll.log4net
<? xml version="1.0" encoding="utf-8" ?>
< log4net >
< appender name ="AdoNetAppender" 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 ="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[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 >
< 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 ="ALL" />
< appender-ref ref ="ADONetAppender" />
</ root >
</ log4net > - 在数据库中建表
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
)
- 使用
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using log4net;
using log4net.Config;
namespace WebApp
{
/**//// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
private static readonly ILog log = log4net.LogManager.GetLogger(typeof(WebForm1));
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
}
Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
log.Info("这是我在使用Log4Net");
}
}
}
转载于:https://www.cnblogs.com/netflu/archive/2006/07/27/461260.html