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