2016-08-01 60 views
2

我有Spring Boot 1.4.0,HikariCP 2.4.7,slf4j-api 1.7.21和PostgreSQL JDBC 9.4.1208。如何在PostgreSQL JDBC/HikariCP中启用调试日志记录?

我想从PostgreSQL的JDBC看到调试日志,因为我有some problems与HikariCP:

HikariPool-1 - Connection is not available, request timed out after 42734ms. 

如何启用调试日志记录,看看发生了什么事情?

我已经试过:

-Adding:

org.postgresql.Driver.setLogLevel(Driver.DEBUG); 
hikariDataSource = new HikariDataSource(); 
hikariDataSource.setLogWriter(new PrintWriter(System.out)); 

-Adding到VM选项:

-Dorg.slf4j.simpleLogger.defaultLogLevel=debug 

然而,日志,因为它们是相同的。

回答

0

几件事情要考虑:

考虑记录到文件

1)记录到系统输出可以使您错过更新 2)它也慢,并减缓你的应用程序下来

考虑改为将日志配置保存在slf4j配置文件中。

考虑具体的阿光配置:

-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=error 

此外,默认情况为SLF4J简单的记录日志级别的信息。所以,如果你没有看到任何东西,我不认为它是配置。它可能缺乏一些依赖性(你是仅仅使用slf4j还是其他的,比如log4j呢?)。

最后,你确定你的变化是根本没有变化吗?

由于在这方面很难说,让我提供日志记录可以发生的另一方:Postgres。

尝试改变PG日志记录配置:

logging_collector = on # may be 'true' for older versions as well? 
log_statement = all # 'true' for older versions 
log_min_error_statement = error 

首先开启日志收集和记录使得不丢失消息。其次说明一切都让你感兴趣,甚至包含语法错误的简单查询。 第三个给出您的错误级别。

Docs for Postgres会告诉你更多。

相关问题