2014-02-26 27 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