在數(shù)據(jù)庫中準備一個這樣的表,mail_web_log:
生成腳本:
CREATE TABLE [dbo].[mail_web_log] (
[nId] [int] IDENTITY (1, 1) NOT NULL ,
[dtDate] [datetime] NOT NULL ,
[sThread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sLevel] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sLogger] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sMessage] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sException] [varchar] (4000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[mail_web_log] WITH NOCHECK ADD
CONSTRAINT [PK_mail_web_log] PRIMARY KEY CLUSTERED
(
[nId]
) ON [PRIMARY]
GO
其中,sLevel字段代表日志的級別;sLogger字段代表日志是由哪一個類或者文件產(chǎn)生的,如
“iNotes.Default.Page_Load(c:\mail\mailsource\default.aspx.cs:269)”;sMessage字段代表日志的內(nèi)容。
Web.config中Log.Net的配置
注意其中“AD.NetAppender”節(jié)點的寫法,以及各個字段的打印方法。
一般來說,我們對每一個日志字段定義一個“”節(jié)點以告訴log.Net如何輸出,在這個節(jié)點之下,我們需要配置
%t在log.Net中專門指的是線程名。
下面我們對“%d %t %p %l %m %n”一一講解:
l %d輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss},輸出類似:2005-7-19 17:49:27,剛好適合插入SQLServer;
l %t 產(chǎn)生該日志事件的線程名;
l %p 日志的log_level,如DEBUG、WARN或者INFO;
l %c 輸出所屬的類目,通常就是所在類的全名,如“iNotes.Default”;
l %m 日志的內(nèi)容;
l %l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。如write2database.main(write2database.Java:33);
%n 輸出一個回車換行符,Windows平臺為“\r\n”,Unix平臺為“\n”
生成腳本:
CREATE TABLE [dbo].[mail_web_log] (
[nId] [int] IDENTITY (1, 1) NOT NULL ,
[dtDate] [datetime] NOT NULL ,
[sThread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sLevel] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sLogger] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sMessage] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sException] [varchar] (4000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[mail_web_log] WITH NOCHECK ADD
CONSTRAINT [PK_mail_web_log] PRIMARY KEY CLUSTERED
(
[nId]
) ON [PRIMARY]
GO
其中,sLevel字段代表日志的級別;sLogger字段代表日志是由哪一個類或者文件產(chǎn)生的,如
“iNotes.Default.Page_Load(c:\mail\mailsource\default.aspx.cs:269)”;sMessage字段代表日志的內(nèi)容。
Web.config中Log.Net的配置
注意其中“AD.NetAppender”節(jié)點的寫法,以及各個字段的打印方法。
一般來說,我們對每一個日志字段定義一個“
%t在log.Net中專門指的是線程名。
下面我們對“%d %t %p %l %m %n”一一講解:
l %d輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss},輸出類似:2005-7-19 17:49:27,剛好適合插入SQLServer;
l %t 產(chǎn)生該日志事件的線程名;
l %p 日志的log_level,如DEBUG、WARN或者INFO;
l %c 輸出所屬的類目,通常就是所在類的全名,如“iNotes.Default”;
l %m 日志的內(nèi)容;
l %l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。如write2database.main(write2database.Java:33);
%n 輸出一個回車換行符,Windows平臺為“\r\n”,Unix平臺為“\n”

