C#實現SQLServer數據庫日志的配置方法
在數據庫中準備這樣一個表,mail _ web _ log:
生成腳本:
創建表[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,
[s level][varchar](200)COLLATE Chinese _ PRC _ CI _ AS NOT NULL,
[sLogger][varchar](200)COLLATE Chinese _ PRC _ CI _ AS NOT NULL,
alter table [dbo]。[mail _ web _ log]with nocheck add
constraint[PK _ mail _ web _ log]primary key clustered
(
[NID]
)on[s logger字段表示日志是由哪個類或文件生成的,如
“inotes . default . page _ load(c:\ mail \ mail source \ default . aspx . cs:269)”。sMessage字段代表日志的內容。
web . config中Log.Net的配置
注意“AD。NetAppender"節點和每個字段的打印方法。
一般來說,我們爲每個日志字段定義一個""節點來告訴log.Net如何輸出。在這個節點下,我們需要配置
%t特指log.Net的線程名。
我們來逐一解釋一下" % d % t % p % l % m % n":
l % d默認格式爲ISO8601,也可以在其後指定格式,比如:%d{yyyy-MM-dd HH:mm:ss},。
l % t生成此日志事件的線程的名稱;
l %p日志的log_level,如DEBUG、WARN或INFO。;
l % c輸出所屬的類別通常是類的全稱,如“inotes . default”;
l %m日志的內容;
l %l輸出日志事件的位置,包括類別名稱、發生的線程和代碼行數。如write 2 database . main(write 2 database . Java:33);
% n輸出廻車換行符,在Windows平台上爲“\r\n”,在Unix平台上爲“\ n”
0條評論