NLog日誌 將日誌儲存在資料庫中

2021-06-11 22:09:00 字數 1298 閱讀 1655

首先要在資料庫中新建乙個表,用來儲存nlog資訊,建表語句如下:

use [testdb]

go/****** object: table [dbo].[loginfoes] script date: 12/20/2012 11:47:59 ******/

set ansi_nulls on

goset quoted_identifier on

gocreate table [dbo].[loginfoes](

[logid] [int] identity(1,1) not null,

[createon] [datetime] not null,

[origin] [nvarchar](max) null,

[loglevel] [nvarchar](50) null,

[message] [nvarchar](max) null,

[exception] [nvarchar](max) null,

[stacktrace] [nvarchar](max) null

) on [primary]

go

資料庫名為testdb

然後,我們就要在targets中新增如下的target標籤:

insert into loginfoes([createon],[origin],[loglevel], [message], [exception],[stacktrace]) values (getdate(), @origin, @loglevel, @message,@exception, @stacktrace);

其中,簡單介紹下connectionstring是連線資料庫的語句,這個我相信搞過web或者winforms開發的同學都不陌生,commandtext標籤中是運算元據的sql語句,parameter標籤則是引數選項。

ok,接下來我們要在rules標籤中新增乙個logger,**如下:

這樣兒,只要是debug級別以上的資訊,都會被記錄到資料庫中,當然,也可以根據個人需要,只記錄fatal error,其他的一般記錄儲存在文字檔案裡。

接下來,就是我們的main方法的方法體了,很簡單的一句**,如下所示:

logger.fatal("fatal error!");
執行程式,然後我們去資料庫中查詢下結果,如下圖所示:

這樣兒,乙個簡單的nlog日誌儲存到資料庫中的demo就完成了,如果大家還有更多的需求,請查閱nlog官網的相關文件。

NLog日誌 將日誌儲存在檔案中

同時,要在中新增如下 這樣兒,執行程式,之後,我們就可以在程式的bin debug目錄下看到產生了乙個nlogrecord.txt檔案,如下圖所示 開啟發現其中的內容如下 logger.debug datetime.now.tostring hello,this is nlog test 那麼,再次...

quartz將job儲存在資料庫中所需的表

qrtz calendars 以 blob 型別儲存 quartz 的 calendar 資訊 qrtz cron triggers 儲存 cron trigger,包括 cron 表示式和時區資訊 qrtz fired triggers 儲存與已觸發的 trigger 相關的狀態資訊,以及相聯 j...

資料庫日誌

資料庫日誌 首先,在mysql中預設只開啟了錯誤日誌 mysql中的日誌檔案 這裡先談一下重做日誌以及回滾日誌以及二進位制日誌之間得關係,他們都與事務操作相關。重做日誌 作用 確保事務的永續性。防止在發生故障的時間點,尚有髒頁未寫入磁碟,在重啟mysql服務的時候,根據redo log進行重做,從而...