1

我正在使用 r2dbc 池并为 DB 操作实现了 r2dbcEntityTemplate。

我想在执行每个查询后分析连接池详细信息打印日志(使用了多少连接,时间等)我该如何实现这一点。

我尝试记录但没有奏效。

io.r2dbc.postgresql: TRACE
io.r2dbc.postgresql.client: TRACE
io.r2dbc.spi.ConnectionFactory: TRACE
@Bean
public ConnectionFactory connectionFactory() {
    PostgresqlConnectionConfiguration configuration =
        PostgresqlConnectionConfiguration.builder()
            .host(host)
            .port(port)
            .database(database)
            .schema(schema)
            .username(username)
            .password(password)
            .build();

    ConnectionFactory fg = new PostgresqlConnectionFactory(configuration);
    ConnectionPoolConfiguration connectionPoolConfiguration =
    ConnectionPoolConfiguration.builder(fg)
        .maxIdleTime(Duration.ofMillis(maxIdleTime)).acquireRetry(acquireRetry)
        .initialSize(initialSize).maxSize(maxSize).build();
    return new ConnectionPool(connectionPoolConfiguration);
}
4

1 回答 1

1

尝试将以下内容添加到您的application.yml文件中:

logging.level.io.r2dbc.pool: DEBUG

您将收到如下信息:获取连接/释放连接。

目前,他们没有像 Hikari 那样公开有关整个池连接的任何统计信息。

于 2021-09-09T10:58:29.063 回答