首页 > 解决方案 > 使用 Sybase 和 Java 记录 SQL 和存储过程调用

问题描述

我正在将 Sybase 与 Java 一起使用。我想记录哪些 SQL 语句和哪些存储过程调用实际发送到数据库。我正在使用 JConnect 4,Maven 依赖项是com.sybase:jconn4.

我已将以下记录器配置为在该ALL级别进行记录。根据http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc39001.0707110/doc/html/adh1375869748274.html这应该足够了。

private static Logger log1 = Logger.getLogger(SybDriver.class.getName());
private static Logger log2 = Logger.getLogger(SybConnection.class.getName());
private static Logger log3 = Logger.getLogger(SybStatement.class.getName());
private static Logger log4 = Logger.getLogger(SybPreparedStatement.class.getName());
private static Logger log5 = Logger.getLogger(SybResultSet.class.getName());

static {
    log1.setLevel(Level.ALL);
    log2.setLevel(Level.ALL);
    log3.setLevel(Level.ALL);
    log4.setLevel(Level.ALL);
    log5.setLevel(Level.ALL);
}

但是,我没有看到任何数据库调用。我只看到这样的陈述:

Apr 28, 2021 11:41:16 AM com.sybase.jdbc4.jdbc.SybStatement setQueryTimeout
FINER: Dr127_Co1_Ps36 setQueryTimeout(int = [0])
Apr 28, 2021 11:41:16 AM com.sybase.jdbc4.jdbc.SybPreparedStatement executeQuery
FINE: Dr127_Co1_Ps36 executeQuery()
Apr 28, 2021 11:41:16 AM com.sybase.jdbc4.jdbc.SybResultSet next
FINE: Dr127_Co1_Ps36_Rs76 next()

我错过了一些配置吗?

标签: loggingjdbcsybasejava.util.logging

解决方案


推荐阅读