hibernate generate_statistics将纳秒改为秒

时间:2016-01-20 17:47:46

标签: java hibernate

我使用hibernate StatisticalLoggingSessionEventListener来显示查询响应时间

这是日志

brackets.json

我们可以将纳秒值转换为秒吗?

3 个答案:

答案 0 :(得分:2)

不,它无法改变 这是类文件https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/engine/internal/StatisticalLoggingSessionEventListener.java

他们使用System.nanoTime()来获取值,并且没有其他配置。

答案 1 :(得分:0)

假设可以实现自己的StatisticalLoggingSessionEventListener logging seconds,并将其作为Hibernate事件系统中的侦听器添加。在实践中这样做对我来说非常艰巨,到目前为止,我还没有能够在Spring Boot应用程序中获取正确对象的句柄来添加我自己的MyStatisticalLoggingSessionEventListener。

答案 2 :(得分:0)

实际上它似乎并不那么难。

您无法扩展或配置默认的StatisticalLoggingSessionEventListener,只需重新实现它并轻松更改其输出,请参阅:https://gist.github.com/icyerasor/4008f7a7e245326eb314795c769f47e7(不保证格式不是 super 无法执行,根据需要更改记录器,并注意十进制输出的格式现在可能是特定于语言环境的。)

现在注册它:作为一个快速黑客(?)我逃脱:

sessionFactory.getSessionFactoryOptions().getBaselineSessionEventsListenerBuilder().setAutoListener(IteratecStatisticalLoggingSessionEventListener.class);

确实有效。有人可以确认这是正确的方法吗?无法在" setAutoListener"上找到任何文档。