企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 3.5\. 日志 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的日志可能地详细. 这是必要的查错利器. 最令人感兴趣的日志分类有如下这些: **表 3.9\. 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`属性。