Java 获取Oracle JDBC日志中的绑定变量
我正在尝试调试查询Oracle数据库的Java应用程序 我已经开始申请了Java 获取Oracle JDBC日志中的绑定变量,java,oracle,java.util.logging,Java,Oracle,Java.util.logging,我正在尝试调试查询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.File
-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
是否可以记录绑定变量的值?根据:
FINE
记录每个公共方法的入口和出口,提供JDBC操作的详细跟踪。它会产生相当大的日志消息量
将系统属性-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:之后的所有内容都是。的参数,根据:
FINE
记录每个公共方法的入口和出口,提供JDBC操作的详细跟踪。它会产生相当大的日志消息量
将系统属性-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:
之后的所有内容都是的参数。我猜您已经尝试了oracle.jdbc.level=FINEST
?因为隐藏值对于安全性非常重要,框架不显示值。@NicolasFilotto我显示了,但它非常详细,看起来数据不在那里,但我不能100%确定。@FreeMan Hibernate可以显示值。尝试使用FINE然后我猜您已经尝试了oracle.jdbc.level=FINEST
?因为隐藏值对于安全性非常重要,框架不显示值。@NicolasFilotto我显示了,但它非常详细,看起来数据不在那里,但我不能100%确定。@FreeMan Hibernate可以显示值。那就试试罚款吧