编程语言
首页 > 编程语言> > java-关闭某些查询的休眠日志

java-关闭某些查询的休眠日志

作者:互联网

您可以在Hibernate / EJB 3.0中关闭某些查询的日志消息吗?

有没有一种方法可以仅针对单个查询覆盖参数“ hibernate.show_sql”?

解决方法:

从休眠配置,我认为这是不可能的.

Hibernate提供了两种记录查询的方式:通过将hibernate参数hibernate.show_sql设置为true或将日志类别org.hibernate.SQL设置为DEBUG.两种方式都是独立的,如果同时使用,查询将被记录两次.

我更喜欢使用第二种方法:它更加灵活,因为您可以在运行时通过jmx-console对其进行更改(如果使用jboss,这是开箱即用的).
而且,hibernate使用的是Apache Commons日志记录(对于hibernate.show_sql,hibernate只是将请求写入System.out).

我认为可以为给定类别提供Logger的自定义实现(我不知道它有多容易或有多困难,我从未做到过).然后,您只需要提供逻辑即可决定在Logger实现中记录请求与否之间的逻辑.

标签:log4j,hibernate,ejb-3-0,java
来源: https://codeday.me/bug/20191210/2099879.html