由于slf4j显示的日志查看不方便,在实际中用的比较少,所以将日志文件slf4j改为log4j。
显示的部分DDL语言,如下:
下图可知,很多的日志文件都继承了slf日志接口:
我们首先将hibernate配置文件中的slf4j-nop-1.5.8.jar给remove掉,然后添加\apache-log4j-1.2.15文件夹下的log4j-1.2.15.jar,
然后通过添加一个适配器文件,将slf接口与log4j对接起来,该适配器文件在\slf4j-1.5.8文件夹下,即slf4j-log4j12-1.5.8.jar
最后我们在\hibernate-distribution-3.3.2.GA\project\etc文件夹下找到log4j的配置文件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
当我们再次执行测试文件,控制台将DDL语言都显示出来了: