关于使用ojdbc8_g.jar激活堆栈跟踪日志记录,我有一个问题。虽然使用ojdbc7_g.jar时,它在那里并且对执行的每个sql语句都可见,但在ojdbc8_g中,我没有成功地激活它。我得到的唯一信息是sql语句,但我还需要stack trace语句。我确实搜索了oracle文档,但没有找到任何关于如何从8版本检索堆栈跟踪的指示。有人知道是否有可能通过ojdbc8获得这些信息吗?
update:i'将添加一些详细信息一个简单的类使用此配置对oracle数据库执行一个查询:djava.util.logging.config.file=c:/workpath/java/log.properties-doracle.jdbc.trace=true使用ojdbc7_g.jar的结果如下:
<record>
<date>2020-04-08T10:39:39</date>
<millis>1586335179544</millis>
<sequence>19</sequence>
<logger>oracle.jdbc.driver</logger>
<level>CONFIG</level>
<class>oracle.jdbc.driver.OracleStatement</class>
<method>doExecuteWithTimeout</method>
<thread>1</thread>
<message>674BD420 SQL: SELECT * FROM v_server</message>
<exception>
<message>java.lang.Throwable: No Error</message>
<frame>
<class>oracle.jdbc.driver.OracleStatement</class>
<method>doExecuteWithTimeout</method>
<line>1427</line>
</frame>
<frame>
<class>oracle.jdbc.driver.OracleStatement</class>
<method>executeQuery</method>
<line>1795</line>
</frame>
<frame>
<class>oracle.jdbc.driver.OracleStatementWrapper</class>
<method>executeQuery</method>
<line>1513</line>
</frame>
<frame>
<class>it.igs.JDBCTest</class>
<method>getSqlDirect</method>
<line>96</line>
</frame>
<frame>
<class>it.igs.JDBCTest</class>
<method>main</method>
<line>23</line>
</frame>
</exception>
</record>
如果使用ojdbc8_g.jar运行相同的测试,结果是:
<record>
<date>2020-04-08T10:39:39</date>
<millis>1587367077619</millis>
<sequence>19</sequence>
<logger>oracle.jdbc</logger>
<level>CONFIG</level>
<class>oracle.jdbc.driver.OracleStatement</class>
<method>logSQL</method>
<thread>1</thread>
<message>142EEF62 SQL: SELECT * FROM v_server</message>
</record>
属性文件与用于生成日志的文件相同,正如您在上一个测试中看到的,它缺少堆栈跟踪
更新2:有关使用的属性文件的其他信息。
level=SEVERE
oracle.jdbc.level=ALL
oracle.jdbc.driver.level=CONFIG
oracle.jdbc.pool.level=SEVERE
oracle.jdbc.util.level=SEVERE
oracle.sql.level=FINE
oracle.net.level=SEVERE
oracle.jdbc.handlers=java.util.logging.FileHandler
java.util.logging.FileHandler.level=CONFIG
java.util.logging.FileHandler.pattern=c:/Workpath/java/jdbc%u%g.log
java.util.logging.FileHandler.count=5
java.util.logging.FileHandler.formatter=java.util.logging.XMLFormatter
我重复一遍,用两个ojdbc\g驱动程序运行测试没有问题。问题是在输出文件日志中,ojdbc8\u g没有由ojdbc7\u g写入的堆栈跟踪信息。我需要为一个无法使用ojdbc7的特定客户使用ojdbc8。
暂无答案!
目前还没有任何答案,快来回答吧!