hibernate3 配置log4j

hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下:

所用的jar包下载地址  http://download.csdn.net/detail/u013378306/9160861

一.加入log4j的日志框架

hibernate3 配置log4j_第1张图片

说明:1.    slf4j-api-1.6.1.jar文件,就是前面指的hibernate3自带日志的API(提供了各种日志的接口).

2.    log4j-1.2.16.jar文件,就是log4j的框架.

3.    slf4j-log4j12-1.6.1.jar文件,就是hibernate3自带的日志接口与log4j中间进行转换的适配器。

 

log4j.properties 参考配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
### 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  
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE  
    
### log schema export/update ###  
log4j.logger.org.hibernate.tool.hbm2ddl=debug  
##上面这句最重要,不然无法输出hibernate隐藏信息    
### 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



说明******************************************************8

### 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
 
log4j.logger.org.hibernate=debug 
log4j.logger.org.hibernate.hql.ast.AST=debug 
log4j.logger.org.hibernate.SQL=debug 
log4j.logger.org.hibernate.type=info 
log4j.logger.org.hibernate.type=debug 
log4j.logger.org.hibernate.tool.hbm2ddl=debug 
log4j.logger.org.hibernate.hql=debug 
log4j.logger.org.hibernate.cache=debug 
log4j.logger.org.hibernate.transaction=debug 
log4j.logger.org.hibernate.jdbc=debug 
log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
将  log4j.logger.org.hibernate=debug  更改成 log4j.logger.org.hibernate=error 时,只输出SQL和错误信息。
 
 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相关信息做日志 (信息量较大, 但对查错非常有帮助)  

你可能感兴趣的:(hibernate3 配置log4j)