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