gpt4 book ai didi

java - 在 Oracle JDBC 日志记录中获取绑定(bind)变量

转载 作者:行者123 更新时间:2023-12-01 09:18:26 25 4
gpt4 key购买 nike

我正在尝试调试查询 Oracle 数据库的 Java 应用程序。

我已经开始我的申请

-Doracle.jdbc.Trace=true  -Djava.util.logging.config.file=c:/tmp/oracledebug.properties  

包含

handlers = java.util.logging.FileHandler
java.util.logging.FileHandler.pattern = c:/tmp/jdbc.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
oracle.jdbc.driver.level = CONFIG

但是,它输出的 SQL 带有问号。

是否可以记录绑定(bind)变量的值?

最佳答案

根据documentation :

FINE Logs the entry and exit to every public method providing a detailed trace of JDBC operations. It produces a fairly high volume of log messages.

设置系统属性-Djava.util.logging.SimpleFormatter.format="%1$tc %2$s %3$s%n%4$s: %5$s%6$s% n" 将记录器名称包含在输出文件中。

当我使用上面的 SimpleFormatter 模式设置 oracle.jdbc.driver=FINE 时,我看到的输出如下:

Wed Nov 02 08:43:06 CDT 2016 oracle.jdbc.driver.OraclePreparedStatement setString oracle.jdbc.driver
FINE: XXXXXXXX Public Enter: 1, "some input string"

Public Enter: 之后的所有内容都是 PreparedStatement.setString(int, String) 的参数.

关于java - 在 Oracle JDBC 日志记录中获取绑定(bind)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40346938/

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