Apache log4net与EntLib Logging Application Block使用心得
Posted on 2008-09-04 01:16 漂泊雪狼 阅读(3654) 评论(25) 编辑 收藏 举报在实际开发应用中,大家难免会用到日志记录功能,在Donet开发中大多数人会有3种方法来处理日志功能:(1)使用微软企业库EntLib中的日志记录模块;(2)使用Apache的log4net日志模块;(3)自己写一个日志模块。本人个人觉得既然已经有成熟的、可配置、开源、免费的日志记录模块就没有必要自己去写了,在实际项目中我用过前面两种日志模块,现在就它们之间的异同点做出比较,望大家批评指正。
相同点:
1. 都是开源免费的日志模块;
2. 都是可以进行灵活配置将日志输出到文件、数据库、事件查看器等不同目标;
不同点:
1、MS EntLib Log模块只能在.NET平台下使用,将用户限制在MS平台下,而Apache提供的日志模块有多个平台版本,可移值性强;
2、经本人测试Apache Log的运行效率大大高于MS EntLib Log;
3、MS EntLib Log模块提供了可视化的配置工具,配置方便,Apache Log只能通过修改配置文件来实现,对初学者有一定的难度;
4、MS EntLib Log会随着EntLib 进行版本更新,而Apache Log很久没有看见到更新了,目前没有.NET 3.5版下的更新了,在Apache Log中的脱机文档中介绍将日志输出到Oracle9i数据库时,有一个明显的错误,至今还没有更新修正;
5、在日志写到数据库的情况下,迁移不同厂商的数据库时,Apache Log只需修改配置文件就可以达到迁移目的,而MS EntLib Log需要重新实现接口,自己写存储过程,MS在发布时没有提供其他版本数据库的脚本,而Apache Log提供了多种数据库版本的脚本。
综上所述,个人觉得比较喜欢 Apache Log,推荐大家使用,不知各位有何看法?漂泊雪狼