程序記錄錯(cuò)誤日志是一種看起來對(duì)一般用戶沒什么作用,但對(duì)程序開發(fā)者用處很大的東西,它能查出錯(cuò)誤或異常的程序馬跡。那么,常用的記錄錯(cuò)誤日志的方式有哪些呢?
大多數(shù)情況下使用的是
1、直接記錄為txt/xml文件
2、Windows Event Log
其他記錄錯(cuò)誤日志的方式
1、當(dāng)前進(jìn)程的本地隊(duì)列
沒有簡單高效的持久化機(jī)制實(shí)現(xiàn),單次調(diào)用效率會(huì)降低
2、MSMQ
(1)、非進(jìn)程內(nèi)消息隊(duì)列,單次調(diào)用速度上,沒有進(jìn)程內(nèi)部本地隊(duì)列速度快
(2)、內(nèi)建持久化機(jī)制,即便down機(jī),信息也不會(huì)丟失
(3)、能簡單的通過啟動(dòng)多個(gè)消費(fèi)端程序來消費(fèi)隊(duì)列元素,可擴(kuò)展性強(qiáng)
3、獨(dú)立進(jìn)程中的WCF服務(wù)(進(jìn)程間管道)
(1)、持久化機(jī)制取決于WCF服務(wù)實(shí)現(xiàn)方式,需要自己實(shí)現(xiàn)
(2)、本地機(jī)器上的進(jìn)程之間命名管道通信,比網(wǎng)絡(luò)通信快(如:MSMQ,service broker,數(shù)據(jù)庫)
4、獨(dú)立進(jìn)程中的WCF服務(wù)(異步調(diào)用方式)
(1)、可惜無法使用命名管道
(2)、存在網(wǎng)絡(luò)上的通信,速度降低
5、數(shù)據(jù)庫
注意:日志數(shù)據(jù)庫不能和業(yè)務(wù)數(shù)據(jù)庫合并在一起,否則會(huì)互相影響(高并發(fā)下)