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

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


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


          網站導航:
           
          主站蜘蛛池模板: 滁州市| 瓦房店市| 伊春市| 南投县| 南康市| 石屏县| 广宁县| 浦北县| 娱乐| 溆浦县| 耒阳市| 徐闻县| 屏山县| 四会市| 隆回县| 讷河市| 稷山县| 灵石县| 东丽区| 香格里拉县| 南郑县| 景德镇市| 桐城市| 张掖市| 普兰店市| 改则县| 佛冈县| 彭阳县| 汕头市| 巴里| 平塘县| 东乡县| 巴楚县| 河北区| 平原县| 全州县| 新兴县| 福海县| 泾阳县| 万州区| 贺州市|