如鵬網 大學生計算機學習社區

          CowNew開源團隊

          http://www.cownew.com 郵件請聯系 about521 at 163.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

          Log4j (http://logging.apache.org/log4j/docs)是一個開源代碼的項目(Open source project),它使開發人員能最大限度的靈活控制程序調試信息的輸出,這一點它是通過額外的配置文件實現的。

          JDBMonitor(

          共同點:

          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的事件監聽器,容納的日志量相當大,而且可以自由控制日志的上下滾動。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 平顺县| 苍梧县| 桐乡市| 汝城县| 玉环县| 阳城县| 岑巩县| 虹口区| 筠连县| 中卫市| 万荣县| 永州市| 萨迦县| 顺平县| 汽车| 友谊县| 那曲县| 澄江县| 房山区| 伽师县| 策勒县| 彝良县| 醴陵市| 襄城县| 平阳县| 恭城| 澎湖县| 汝南县| 翼城县| 仁怀市| 无锡市| 石棉县| 上犹县| 巴青县| 梨树县| 南澳县| 商南县| 耿马| 开化县| 清丰县| 汝城县|