关于hibernate使用log4j

1.hibernate3.3.2使用的日志记录是slf4j,只给出了api的jar,没提供slf4j的实现jar,需要自己下载,找到slf4j-nop-1.5.8.jar,引入项目就行了

关于hibernate使用log4j_第1张图片

2.如果项目不想使用slf4j作为具体的日志实现jar,比如使用log4j.jar或commons-logging.jar作为项目的日志记录,该怎么办呢。

下面以log4j.jar为例做说明,slf接口不变,只是具体的实现变了,这就像是一个适配器,到slf4j的实现jar里去找转换jar即可,比如在slf4j的众多jar中可以找到slf4j-log4j12-1.5.8.jar,即为slf4j提供的针对log4j的转换器,将其和log4j.jar一起引入项目中即可

关于hibernate使用log4j_第2张图片

3.配置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.tool.hbm2ddl=debug可以将所有sql语句进行输出等

综上所述,针对hibernate3.3.2的日志记录采用slf4j接口这一情况,可以将其具体实现转换为log4j等日志实现

你可能感兴趣的:(Hibernate,log4j,日志,slf4j)