深入理解Hibernate日志

  • Hibernate中使用什么来记录日志呢?通常Hibernate日志使用Apache commons-logging来为各种事件记录日志.

本文向大家介绍Hibernate日志,可能好多人还不了解Hibernate日志,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

在Hibernate中,Hibernate日志使用Apache commons-logging来为各种事件记录日志.

commons-logging将直接输出到Apache Log4j(如果在类路径中包括log4j.jar)或 JDK1.4 logging (如果运行在JDK1.4或以上的环境下).

你可以从http://jakarta.apache.org 下载Log4j. 要使用Log4j,你需要将log4j.properties文件放置在类路径下, 随Hibernate 一同分发的样例属性文件在src/目录下.

我们强烈建议你熟悉一下Hibernate的日志消息. 在不失可读性的前提下, 我们做了很多工作,使Hibernate的日志可能地详细. 这是必要的查错利器. 最令人感兴趣的日志分类有如下这些:

表  Hibernate日志类别

类别

功能

org.hibernate.SQL

在所有SQL DML语句被执行时为它们记录日志

org.hibernate.type

为所有JDBC参数记录日志

org.hibernate.tool.hbm2ddl

在所有SQL DDL语句执行时为它们记录日志

org.hibernate.pretty

在session清洗(flush)时,为所有与其关联的实体(最多20个)的状态记录日志

org.hibernate.cache

为所有二级缓存的活动记录日志

org.hibernate.transaction

为事务相关的活动记录日志

org.hibernate.jdbc

为所有JDBC资源的获取记录日志

org.hibernate.hql.AST

在解析查询的时候,记录HQL和SQL的AST分析日志

org.hibernate.secure

为JAAS认证请求做日志

org.hibernate

为任何Hibernate相关信息做日志 (信息量较大, 但对查错非常有帮助)

在使用Hibernate开发应用程序时, 你应当总是为org.hibernate.SQL 开启debug级别的日志记录,或者开启hibernate.show_sql属性。

相关推荐