Log4j和JDBMonitor的比较

转载 2006年05月21日 17:32:00
Log4j和JDBMonitor的比较

Log4j (http://logging.apache.org/log4j/docs)是一个开源代码的项目(Open source project),它使开发人员能最大限度的灵活控制程序调试信息的输出,这一点它是通过额外的配置文件实现的。

JDBMonitor(http://www.cownew.com)是一个开源项目。使用它开发者可以很轻松为系统增加数据库执行日志功能。它使用十分方便,您所需要做的唯一事情就是在您系统的JDBC连接字符串前增加类似于 "listenerconfig=/config.xml:url=" 的字符即可,不用写任何代码。使用 JDBMonitor,您可以把数据库执行情况记录通过各种方式记录下来,比如打印到控制台、输出到文件或者通过socket传送给远程客户端。

共同点:

1、Log4j和JDBMonitor都有很强的可扩展性,例如Log4j可以写自己的Appender,JDBMonitor可以写自己的DBListener。

2、Log4j和JDBMonitor都很容易配置。当然Log4j配置文件相对复杂。

不同点:

1、Log4j能为各种事件进行日志输出,比如关键操作,运行中的变量值、数据库语句日志等。而JDBMonitor只能记录数据库sql语句操作记录。所以说Log4j应用范围更广,如果您需要记录非数据库语句日志就要使用Log4j,JDBMonitor则无能为力。

2、Log4j配置比较灵活,比如可以配置什么等级的日志被记录,记录的格式是什么样的,日志文件到多大的时候被转储;而JDBMonitor则相对较不灵活,输出格式比较单一、而且无法指定那些日志可以被忽略。

3、Log4j是侵入式的,所有的日志操作都是写在业务代码之中的,缺点是很明显的,这导致业务代码中掺杂大量的日志输出代码,降低了代码的可读性,而且一旦想去掉日志功能以后必须逐个删除代码,加大了工作量和风险。JDBMonitor是非侵入式的,它采用代理模式拦截对数据库的调用,然后对进行日志记录,业务系统中根本不用掺杂日志代码。只要修改JDBC连接字符串即可,如果想去掉日志功能,只要将JDBC连接字符串修改回去即可。

4、Log4j采用的日志记录实现方式会对程序的运行速度有一定影响,在日志比较多的时候,甚至会导致整个程序慢到无法忍受。而JDBMonitor则另起一个线程来记录SQL,所以它几乎不会对程序运行速度有任何影响。

5、Log4j的Appender不适合进行调试开发,调试开发只有那个控制台Appender可以用,但是在大数据量的时候整个屏幕狂刷不止,根本看不清,而且很多操作系统的控制台(比如windows的)都有缓冲区大小限制,所以很容易造成想看的sql日志被冲掉看不到了。而Log4j的不仅有与Log4j类似的控制台Appender可以用,而且有一个客户端SocketSwingClient可以用,这个客户端类似SQLServer的事件监听器,容纳的日志量相当大,而且可以自由控制日志的上下滚动。

相关文章推荐

比较全面的log4j配置

引用 比较有用的log4j.properties

log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILE   log4j.addivity.org.apache=true     # 应用于控制台   log4j.a...

Log4j比较全面的配置

来源:http://ajava.org/blog-3431-411.html log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivi...

一个配置比较全的log4j.xml文件,配置的正确性已在项目中验证。

原文地址:http://dolphin-ygj.iteye.com/blog/312504 使用log4j 获取logger Logger.getRootLogger()...

Log4j-1使用说明(比较详细)

本人转自:  http://www.codeceo.com/article/log4j-usage.html 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功...

log4j 和slf4j的比较

log4j 大家都知道,就不在多说了,重点说说slf4j; 简单日记门面(simple logging Facade for Java)SLF4J是为各种loging APIs提供一个简单统一...

log4j 和slf4j的比较

转自:http://blog.csdn.net/lifuxiangcaohui/article/details/7278595 log4j 大家都知道,就不在多说了,重点说说slf4...

log4j 和slf4j的比较

log4j 大家都知道,就不在多说了,重点说说slf4j; 简单日记门面(simple logging Facade for java)SLF4J是为各种loging APIs提供一个简单统一的接...

log4j替代catalina.out

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)