如何阅读Apache Derby数据库日志?

时间:2011-07-19 09:26:05

标签: database logging derby

我想看看Derby的数据库日志;我不是指derby.log文件,我在谈论/[database name]/log目录中的二进制日志文件。有没有一种工具能够以人类可读的格式显示它们?

我的理由是,在Maven Failsafe插件的帮助下,我正在使用Apache Derby(版本10.6.1.0)进行自动集成测试。某些测试执行锁定记录的事务代码(OpenJPA用作ORM工具)。有时,通过某种测试顺序,测试会发生持续等待锁定,导致构建挂起的情况。相同的测试,当单独运行时,通过。所有陌生的事情都是每个测试在运行之前创建并填充所有表,因此很难看出这种行为的明显原因。

通过将失败的测试放在单独的Failsafe执行中,问题已得到解决;不过,我想阅读日志,看看发生了什么。

1 个答案:

答案 0 :(得分:4)

确实存在这样的工具,但它们的水平相当低。这是您可以找到它们的地方:https://issues.apache.org/jira/browse/DERBY-5195

诊断诸如此类的锁定问题非常具有挑战性;希望阅读日志会给你一些线索。日志将仅包含有关更新活动的信息,因此您需要使用其他方式推断读取活动。

您可能尝试的另一件事是看看您是否可以扩充测试过程以包含对lock_table数据的调用(http://db.apache.org/derby/docs/10.8/devguide/cdevconcepts50894.html)。 / p>

可能是:(a)您的ORM工具运行的代码比您认为运行的代码多得多,或者(b)您的ORM工具没有按照您的想法表达事务边界。

祝你好运!