gpt4 book ai didi

java - 如何在 PostgreSQL JDBC/HikariCP 中启用调试日志记录?

转载 作者:行者123 更新时间:2023-11-29 12:18:46 25 4
gpt4 key购买 nike

我有 Spring Boot 1.4.0、HikariCP 2.4.7、slf4j-api 1.7.21 和 PostgreSQL JDBC 9.4.1208。

我想查看来自 PostgreSQL JDBC 的调试日志,因为我有 some problems使用 HikariCP:

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

如何启用调试日志记录以查看发生了什么?

我试过:

-添加:

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

-添加到 VM 选项:

-Dorg.slf4j.simpleLogger.defaultLogLevel=debug

但是,日志和以前一样。

最佳答案

需要考虑的几件事:

考虑记录到文件

1) 登录到 sysout 可能会导致您错过更新2) 它也很慢并且会减慢你的应用程序

考虑将日志配置保留在 slf4j 配置文件中。

考虑特定的 Hikari 配置:

-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

首先打开日志收集器并使日志记录不丢失消息。Second 表示一切你都感兴趣,甚至是带有语法错误的简单查询。第三个给出你的错误级别。

Docs for Postgres会告诉你更多。

关于java - 如何在 PostgreSQL JDBC/HikariCP 中启用调试日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38701125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com