2014-02-26 95 views
0

我的應用程序正在使用Spring處理與數據庫(Sql Server記錄問題

而且commons-logging-1.1.1.jarlog4j-1.2.17.jarslf4j-api-1.6.3.jarslf4j-log4j12-1.7.6.jar互動放入構建路徑的日誌框架應用程序。

最後兩個日誌記錄罐(slf4j-apislf4j-log4j12)是應用程序內的另一個組件使用log4j

這裏是我的問題:

  1. Spring-Jdbc運行excecption發生,除了僅在日食與字體顏色紅色控制檯顯示。異常不會記錄到日誌文件中。但正常的日誌(如log.info(...))都在日誌文件中。爲什麼運行時異常不在日誌文件中,以及如何解決這個問題。

  2. 當我使用SimpleJdbcCall來調用MapSqlParameterSource帶參數的存儲過程,下面的日誌顯示出來:

14時43分30秒] [INFO添加默認SqlReturnUpdateCount參數命名#更新count- 1

14時43分30秒] [INFO添加默認SqlReturnUpdateCount參數命名#更新計數-1 ......

這真是煩人,因爲這messag數量e太大了。我想關閉這個特定的日誌消息,而不會影響同一級別的其他日誌(INFO

而我的log4j.xml沒問題,我想因爲除了上述問題,日誌基本沒問題。

回答

0
  1. Spring在內部使用commons-logging,這就是爲什麼你可以看到你的eclipse控制檯中的消息。要將公共日誌記錄重定向到slf4j/log4j,您需要從類路徑中刪除commons-logging-1.1.1.jar,並從slf4j版本添加jcl-over-slf4j.jar。爲了擺脫dublicate紅色月食消息(七月和JCL),你可以在logging.properties爲控制檯處理程序來警告日誌記錄級別設置:

    java.util.logging.ConsoleHandler.level =警告

  2. 第二期已解決here

+0

如果公共-logging.jar從classpath中移除,應用程序將啓動一個錯誤:類未找到...... – DerekY

+0

犯規JCL-過slf4j.jar包括所有neccessary類? – Stefan