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

时间: 2024-12-29 21:11:25

MyBatis应用开发(6)日志之日志配置的相关文章

阶段3 1.Mybatis_12.Mybatis注解开发_7 Mybatis注解开发一对多的查询配置

一对多的配置,一个用户对应多个账户 需要在Accout里面增加根据用户的uid查询的方法 在user里面指定子一对多的查询配置 换行显示 测试 把这里注销掉.测试延迟加载,代码注释掉后,延迟加载就没有再执行.什么时候用才会去加载数据 测试只执行了 select * 原文地址:https://www.cnblogs.com/wangjunwei/p/11334815.html

springBoot日志框架自动配置与原理

1.日志框架 小张:开发一个大型系统: ? 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? ? 2.框架来记录系统的一些运行时信息:日志框架 : zhanglogging.jar: ? 3.高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar? ? 4.将以前框架卸下来?换上新的框架,重新修改之前相关的API:zhanglogging-prefect.jar: ? 5.JDBC---数据库驱动: ?

django 日志logging的配置以及处理

日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常.在生产环境下有很大的用途.在Java开发中通常用log4j,logback等第三方组件.那么在django中是怎么处理日志?django利用的就是Python提供的logging模块,但django中要用logging,还得有一定的配置规则,需要在setting中设置. logging模块 logging模块为应用程序提供了灵活的手段记录事件.错误.警告和调试信息.对这些信息可以进行收集.筛选.写入文件.发送给系统日志

mybatis的mapper接口加入Log4j日志

配置Log4J比较简单, 比如需要记录这个mapper接口的日志: package org.mybatis.example;public interface BlogMapper {   @Select("SELECT * FROM blog WHERE id = #{id}")   Blog selectBlog(int id);} 只要在应用的classpath中创建一个名称为log4j.properties的文件, 文件的具体内容如下: # Global logging conf

SQL Server 2014 日志传送部署(3):日志传送初始化配置

13.2.3 部署日志传送初始配置 在部署日志传送之前需要进行一些初始配置.需要配置共享文件夹用于事务日志备份和备份的复制:设置代理运行账户和主数据库实例运行账户,并配置账户对共享文件夹有读写权限. (1)创建备份日志的共享文件夹,确保主服务器和辅助服务器能够正常访问共享文件夹:在域控AD上创建D:\BackupLog文件夹,并共享之.在主服务器和辅助服务器上能访问这个共享文件夹的UNC地址\\ad\backuplog或者\\192.168.1.20\backuplog, 主服务器上的SQL代理

Linux服务器access_log日志分析及配置详解(一)

nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务器错误日志 错误日志的形式如下: 1 2 201.158.69.116 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.007 0.007 MX pythontab.com GET /html/test.html HTTP/1.

日志审计策略配置audit

日志审计策略配置 1.   系统缺省已经开启syslog/rsyslog服务,禁止关闭.系统syslog/rsyslog服务会将所有系统日志自动记录到/var/log/messages文件中,系统日志永久保留. 2.   开启audit审计功能,可以监控指定用户或目录,缺省会监控root的所有登录和操作. l  添加规则到 /etc/audit/audit.rules(RHEL7为/etc/audit/rules.d/audit.rules) 文件中,实现监控所有用户的登录行为,包含用户所有操作

Rsyslog日志服务安装配置

rsyslog服务端配置  centos6.4 x64系统  系统自带rsyslog 5.8版本 rsyslog 是一个 syslogd 的多线程增强版. 现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了 rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件 ################################### #首先部署好lamp环境,详情见lamp安装文档 #更新系统时间   rsyslog-mysql是rs

配置apache访问日志和日志切割

配置apache访问日志和日志切割 1.打开apache主配置文件,命令:vim /usr/local/apache2/conf/httpd.conf,找到log_config_module模块,可以看到两条logformat(日志格式),如下图所示: 2.添加自定义的logformat(日志格式),命名为aming如下图所示: 保存退出! 3.打开虚拟主机配置文件,命令:vim /usr/local/apache2/conf/extra/httpd-vhosts.conf,找到<Virtual