我已经完成了所有可能的更改,以避免Hibernate和JDBC记录到记录器,但我仍然在JBOSS应用程序中的日志下面。
我不想将这些Hibernate和JDBC日志记录到记录器。
我在 log4j.properties 中的更改:
1.log4j.logger.org.hibernate =警告
2.log4j.logger.org.hibernate.SQL = OFF
log4j.logger.org.springframework.transaction = DEBUG log4j.logger.org.springframework.orm.hibernate4.HibernateTransactionManager = DEBUG
Jave代码更改
1. org.jboss.logging.Logger logger = org.jboss.logging.Logger.getLogger("org.hibernate");
java.util.logging.Logger.getLogger("org.hibernate").setLevel(java.util.logging.Level.OFF);
2. java.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.OFF);
记录器输出:
关闭Hibernate会话[SessionImpl(PersistenceContext [entityKeys = [],collectionKeys = []]; ActionQueue [insertions = [] updates = [] deletions = [] collectionCreations = [] collectionRemovals = [] collectionUpdates = []])交易后 重新启用自动提交 释放JDBC连接 发布了JDBC连接 HHH000163:逻辑连接释放其物理连接 发布了JDBC连接
答案 0 :(得分:0)
java.util.logging
与log4j
完全不同,因此您所做的代码更改不会对您尝试抑制的日志语句产生任何影响。
相反,注释掉这些行应该会关闭这些组件的日志记录:
#log4j.logger.org.hibernate=WARNING
#log4j.logger.org.hibernate.SQL=OFF
答案 1 :(得分:0)
假设您正在使用由容器提供的Hibernate日志记录将由日志记录子系统而不是您的log4j.properties
文件进行配置。
您可以使用以下CLI命令关闭SQL日志记录并将Hibernate更改为仅在警告级别登录。
/subsystem=logging/logger=org.hibernate:add(level=WARN)
/subsystem=logging/logger=org.hibernate.SQL=OFF
据我所知,默认情况下Hibernate不会记录SQL语句。检查您的persistence.xml
以确保您没有打开那里的SQL语句记录。