MyBatis应用开发(6)日志的日志配置

1. 日志

1.1. 日记配置

MyBatis的一体化安排文件中得透过setting配置所使用的日记输出途径,也足以配备为非出口日志。

logImpl:配置MyBatis使用的日记实现方式。可以择的道:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING。也足以是兑现了org.apache.ibatis.logging.Log接口的类似的全限定名。

 

<configuration>

 

<!– 配置参数 –>

<settings>

 

 <!– 使用LOG4J日志 –>

<setting  name=”logImpl”  value=”LOG4J” />

 

</settings>

</configuration>

 

每当安排也SLF4J和LOG4J时,需要再部署一个log4j.properties文件。

log4j.rootLogger=DEBUG,CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x –
%m%n

log4j.logger.com.genuitec.eclipse.sqlexplorer=WARN

log4j.logger.org.apache=WARN

log4j.logger.NET.sf.hibernate=WARN

 

log4j.properties文件被,可以本着某些Mapper接口进行出格安排。

本可以指定com.test.mybatis3.mapper.PersonMapper这个接口的布局选也WARN,此时欠接口将有关数据库操作的日记级别也WARN,而另非特殊配备的Mapper接口的日记级别仍然为DEBUG。

 

log4j.logger.com.test.mybatis3.mapper.PersonMapper=WARN

 

MyBatis同时同意对某接口的某方法设定特别的日志级别。

 

#Mapper interface:PersonMapper Log level=TRACE

log4j.logger.com.test.mybatis3.mapper.PersonMapper=DEBUG

 

#Mapper method:PersonMapper.findAllPersons Log level=TRACE

log4j.logger.com.test.mybatis3.mapper.PersonMapper.findAllPersons=TRACE

 

 

MyBatis中各种特定的日志级别如下所示:

SQL语句:DEBUG

结果集:  TRACE

 

当用日志级别设置为TRACE级别时,可以见见以下MyBatis日志输出:

0    [main] DEBUG com.test.mybatis3.mapper.PersonMapper.findAllPersons
 – ==>  Preparing: select * from t_person order by id asc

63   [main] DEBUG com.test.mybatis3.mapper.PersonMapper.findAllPersons
 – ==> Parameters:

78   [main] TRACE com.test.mybatis3.mapper.PersonMapper.findAllPersons
 – <==    Columns: id, name, status

78   [main] TRACE com.test.mybatis3.mapper.PersonMapper.findAllPersons
 – <==        Row: lisi, li si, 0

78   [main] TRACE com.test.mybatis3.mapper.PersonMapper.findAllPersons
 – <==        Row: zhangsan, zhang san, 0

78   [main] DEBUG com.test.mybatis3.mapper.PersonMapper.findAllPersons
 – <==      Total: 2

 

当不行使Mapper接口方式实现数据库访问,而是径直利用SqlSession接口的selectList()等办法实现时,只需要将前介绍的Mapper接口的全限定名修改为Mapper配置文件被之mapper结点的namespace属性的值即可,也可以独自安排有namespace下的么SQL语句之日记级别。在动用Mapper接口方式时,由于namespace的价值必须同Mapper接口的全限定名相同,所以这为堪看当log4j.properties文件中行使的是namespace的价值。

 

本文参考了MyBatis官方网站的牵线:http://www.mybatis.org/mybatis-3/zh/logging.html。

网站地图xml地图