Hibernate4配置log4j日志环境
2012-05-14 11:39
323 查看
为了便于调试和查看Hibernate自动生成的SQL语句和详细信息,Hibernate4本身自带了slf4j-api-1.6.1日志JAR包,但是使用不太流行,现在是使用log4j来实现Hibernate的日志信息。
1、访问log4j官方网站http://logging.apache.org/log4j/,去下载log4j的JAR包,现在的稳定版本是Apache log4j 1.2.16。下载完成后将log4j-1.2.16.jar包导入到Hibernate项目中。
2、在src目录下设置log4j的配置文件log4j.properties,可以直接复制hibernate-release-4.1.2.Final\project\etc\log4j.properties到src目录中,其默认内容为:
-------------用户可以根据自己需要选择性的输出想要的信息。此处我们将log4j.logger.org.hibernate=debug和log4j.logger.org.hibernate.type=info都注释掉,仅仅输出log4j.logger.org.hibernate.tool.hbm2ddl=debug的信息,则log4j.properties的内容为:
3、运行测试类,得到日志信息。
---------------Hibernate配置文件hibernate.cfg.xml中配置<property name="hbm2ddl.auto">create</property>则会出现以上日志信息。
---------------若在上面的基础上配置<property name="format_sql">true</property>,使得在log中打印出更漂亮的SQL,则得出日志信息:
-----------若设置为<property name="hbm2ddl.auto">update</property>则会出现以下日志信息:
1、访问log4j官方网站http://logging.apache.org/log4j/,去下载log4j的JAR包,现在的稳定版本是Apache log4j 1.2.16。下载完成后将log4j-1.2.16.jar包导入到Hibernate项目中。
2、在src目录下设置log4j的配置文件log4j.properties,可以直接复制hibernate-release-4.1.2.Final\project\etc\log4j.properties到src目录中,其默认内容为:
### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.FileAppender #log4j.appender.file.File=hibernate.log #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootLogger=warn, stdout #log4j.logger.org.hibernate=info log4j.logger.org.hibernate=debug ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug ### log just the SQL #log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### #log4j.logger.org.hibernate.cache=debug ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
-------------用户可以根据自己需要选择性的输出想要的信息。此处我们将log4j.logger.org.hibernate=debug和log4j.logger.org.hibernate.type=info都注释掉,仅仅输出log4j.logger.org.hibernate.tool.hbm2ddl=debug的信息,则log4j.properties的内容为:
### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.FileAppender #log4j.appender.file.File=hibernate.log #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootLogger=warn, stdout #log4j.logger.org.hibernate=info #log4j.logger.org.hibernate=debug ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug ### log just the SQL #log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### #log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### #log4j.logger.org.hibernate.cache=debug ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
3、运行测试类,得到日志信息。
11:33:59,165 WARN DTDEntityResolver:74 - HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide! 11:34:00,659 INFO SchemaExport:343 - HHH000227: Running hbm2ddl schema export 11:34:00,660 DEBUG SchemaExport:353 - Import file not found: /import.sql Hibernate: drop table if exists User Hibernate: create table User (id integer not null, name varchar(255), age integer, primary key (id)) 11:34:00,679 INFO SchemaExport:405 - HHH000230: Schema export complete Hibernate: insert into User (name, age, id) values (?, ?, ?)
---------------Hibernate配置文件hibernate.cfg.xml中配置<property name="hbm2ddl.auto">create</property>则会出现以上日志信息。
---------------若在上面的基础上配置<property name="format_sql">true</property>,使得在log中打印出更漂亮的SQL,则得出日志信息:
12:41:46,280 WARN DTDEntityResolver:74 - HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide! 12:41:47,014 INFO SchemaExport:343 - HHH000227: Running hbm2ddl schema export 12:41:47,014 DEBUG SchemaExport:353 - Import file not found: /import.sql Hibernate: drop table if exists User Hibernate: create table User ( id integer not null, name varchar(255), age integer, primary key (id) ) 12:41:47,056 INFO SchemaExport:405 - HHH000230: Schema export complete Hibernate: insert into User (name, age, id) values (?, ?, ?)
-----------若设置为<property name="hbm2ddl.auto">update</property>则会出现以下日志信息:
12:47:48,840 WARN DTDEntityResolver:74 - HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide! 12:47:49,546 INFO SchemaUpdate:182 - HHH000228: Running hbm2ddl schema update 12:47:49,546 INFO SchemaUpdate:193 - HHH000102: Fetching database metadata 12:47:49,548 INFO SchemaUpdate:205 - HHH000396: Updating schema 12:47:49,573 INFO TableMetadata:65 - HHH000261: Table found: hibernate.user 12:47:49,573 INFO TableMetadata:66 - HHH000037: Columns: [id, age, name] 12:47:49,574 INFO TableMetadata:68 - HHH000108: Foreign keys: [] 12:47:49,574 INFO TableMetadata:69 - HHH000126: Indexes: [primary] 12:47:49,574 INFO SchemaUpdate:240 - HHH000232: Schema update complete Hibernate: insert into User (name, age, id) values (?, ?, ?)
相关文章推荐
- Hibernate4配置log4j日志环境
- Hibernate配置log4j日志环境
- OSGI环境下配置log4j日志
- ELK菜鸟手记 (一) 环境配置+log4j日志记录
- linux环境下部署tomcat工程,日志不走log4j配置而打印到catalina.out可能的原因
- java环境log4j日志环境的配置。
- Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法
- Log4J日志配置详解
- java3种常见日志配置:commons-log,log4j,logback
- Log4j日志文件配置
- RAC node2节点安装环境配置 日志
- Spring boot配置log4j输出日志
- 【小平工作日志】Maven根据不同环境打包, 获取不同的配置文件
- log4j配置每天生成一个日志文件
- log4j 日志配置
- 在maven web项目中配置log4j打印日志及Mybatis sql语句
- javaweb程序配置log4j日志记录
- log4j输出多个自定义日志文件,动态配置路径
- spring-boot配置log4j日志
- log4j日志文件配置