ASP.NET记录错误日志的方式
2014-11-07 14:11
399 查看
程序记录错误日志是一种看起来对一般用户没什么作用,但对程序开发者用处很大的东西,它能查出错误或异常的程序马迹。那么,常用的记录错误日志的方式有哪些呢?
大多数情况下使用的是
1、直接记录为txt/xml文件
2、Windows Event Log
其他记录错误日志的方式
1、当前进程的本地队列
没有简单高效的持久化机制实现,单次调用效率会降低
2、MSMQ
(1)、非进程内消息队列,单次调用速度上,没有进程内部本地队列速度快
(2)、内建持久化机制,即便down机,信息也不会丢失
(3)、能简单的通过启动多个消费端程序来消费队列元素,可扩展性强
3、独立进程中的WCF服务(进程间管道)
(1)、持久化机制取决于WCF服务实现方式,需要自己实现
(2)、本地机器上的进程之间命名管道通信,比网络通信快(如:MSMQ,service broker,数据库)
4、独立进程中的WCF服务(异步调用方式)
(1)、可惜无法使用命名管道
(2)、存在网络上的通信,速度降低
5、数据库
注意:日志数据库不能和业务数据库合并在一起,否则会互相影响(高并发下)
6、Sql server的Service Broker
7、MongoDB(或者类似的NoSQL数据库)
(1)、拥有持久化机制
(2)、速度快
(3)、如果记录下的日志需要有查询功能,这个选择最好
(4)、不影响业务数据库性能
大多数情况下使用的是
1、直接记录为txt/xml文件
2、Windows Event Log
其他记录错误日志的方式
1、当前进程的本地队列
没有简单高效的持久化机制实现,单次调用效率会降低
2、MSMQ
(1)、非进程内消息队列,单次调用速度上,没有进程内部本地队列速度快
(2)、内建持久化机制,即便down机,信息也不会丢失
(3)、能简单的通过启动多个消费端程序来消费队列元素,可扩展性强
3、独立进程中的WCF服务(进程间管道)
(1)、持久化机制取决于WCF服务实现方式,需要自己实现
(2)、本地机器上的进程之间命名管道通信,比网络通信快(如:MSMQ,service broker,数据库)
4、独立进程中的WCF服务(异步调用方式)
(1)、可惜无法使用命名管道
(2)、存在网络上的通信,速度降低
5、数据库
注意:日志数据库不能和业务数据库合并在一起,否则会互相影响(高并发下)
6、Sql server的Service Broker
7、MongoDB(或者类似的NoSQL数据库)
(1)、拥有持久化机制
(2)、速度快
(3)、如果记录下的日志需要有查询功能,这个选择最好
(4)、不影响业务数据库性能
相关文章推荐
- ASP.NET记录错误日志的方式
- Asp.Net : 捕捉和记录网站中出现的所有未处理错误,抛出详细的页面来源和访问ip,调用的接口方法及异常实例(记事本日志,系统日志及数据库日志)
- ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
- ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
- ASP.NET错误处理 日志记录
- Log4net 框架系列:log4net日志文件在asp.net中的应用实例-记录系统错误
- 在ASP.NET中记录错误日志
- ELMAH(ASP.NET错误日志记录与通知)系列文章-概念篇
- ASP.NET记录错误日志的实现方法
- ELMAH(ASP.NET错误日志记录与通知)系列文章-概念篇
- ASP.NET记录错误日志
- ASP.NET记录错误日志的实现方法
- ELMAH(ASP.NET错误日志记录与通知)系列文章-概念篇
- ELMAH(ASP.NET错误日志记录与通知)系列文章-概念篇
- ELMAH(ASP.NET错误日志记录与通知)系列文章-概念篇
- asp.net记录错误日志
- asp.net 错误信息记录到日志文件
- ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
- 在ASP.NET中记录错误日志(使用Global.asax)
- 使用Global.asax在ASP.NET中记录错误日志