禁用Spring Batch SQL查询的日志记录

时间:2017-05-27 17:55:14

标签: logging spring-batch

如何禁用Spring Batch SQL查询的记录?

它们是从org.springframework.jdbc.core.JdbcTemplate记录器中记录的,因为:

logging.level:
  org.springframework.jdbc: TRACE

看起来像:

2017-05-27 20:41:55.957 DEBUG 13088 --- [jobLauncherTaskExecutor-1] o.s.jdbc.core.JdbcTemplate               : Executing prepared SQL update
2017-05-27 20:41:55.957 DEBUG 13088 --- [jobLauncherTaskExecutor-1] o.s.jdbc.core.JdbcTemplate               : Executing prepared SQL statement [UPDATE BATCH_JOB_EXECUTION_CONTEXT SET SHORT_CONTEXT = ?, SERIALIZED_CONTEXT = ? WHERE JOB_EXECUTION_ID = ?]
2017-05-27 20:41:55.958 DEBUG 13088 --- [jobLauncherTaskExecutor-1] o.s.jdbc.core.JdbcTemplate               : SQL update affected 1 rows

如此大量的这些消息,我无法看到我的应用程序消息(有问题)。

问题是,通过禁用此记录器,我的应用程序SQL查询也将被禁用。

1 个答案:

答案 0 :(得分:1)

您尚未指定使用的日志框架。

我在使用logback的Spring Batch应用程序中管理了这个。

我为我的应用程序定义了一个单独的记录器,其余的是默认记录器,然后我可以单独设置两个不同记录器的记录级别。

请参考my slideshare presentation获取有关在logback中定义命名记录器的一些想法。

要解决,

  

有了这么多的这些消息,我无法看到我的申请   消息

我想,无论你使用什么日志框架,基本的想法是为你的应用程序需要定义一个单独的记录器,并将其余部分引导到默认记录器,然后单独设置级别,即在包级别进行日志记录在这里没有帮助。

accepted answer here中提到的其他解决方案也会禁用查询日志。