程(cheng)序記錄錯誤日志是(shi)一種看起(qi)來對一般用(yong)戶沒什么作用(yong),但對程(cheng)序開(kai)發(fa)者用(yong)處很大的(de)東西,它能查出錯誤或異常的(de)程(cheng)序馬跡。那么,常用(yong)的(de)記錄錯誤日志的(de)方式有哪些呢(ni)?
大多數情況下使用的是
1、直接(jie)記錄為txt/xml文件
2、Windows Event Log
其他記錄錯誤日志的方式
1、當前進程的本地隊列
沒有簡單高效(xiao)的持久化機制(zhi)實現,單次(ci)調(diao)用效(xiao)率會降低(di)
2、MSMQ
(1)、非進程(cheng)內消息隊列(lie),單(dan)次調用速(su)度上(shang),沒有進程(cheng)內部本地(di)隊列(lie)速(su)度快
(2)、內(nei)建持(chi)久(jiu)化機(ji)制,即便down機(ji),信息也不(bu)會(hui)丟失
(3)、能(neng)簡單的通過啟(qi)動多個消費端程序來消費隊列元素,可擴展性強
3、獨立進程中的WCF服務(進程間管道)
(1)、持久化機制取(qu)決于(yu)WCF服務實(shi)現(xian)方式,需要自己實(shi)現(xian)
(2)、本地機器上的進程之間命名管道(dao)通(tong)信(xin),比網絡通(tong)信(xin)快(如:MSMQ,service broker,數據庫)
4、獨立進程中的WCF服務(異步調用方式)
(1)、可惜(xi)無(wu)法使用命名管道
(2)、存在(zai)網絡上的通(tong)信,速度降低
5、數據庫
注(zhu)意:日志數據(ju)庫不能和業務數據(ju)庫合并(bing)(bing)在一起,否則會互相影響(高并(bing)(bing)發下)