MyBatis之控制台输出sql-yellowcong
来源:互联网 发布:hbuilder 商城app源码 编辑:程序博客网 时间:2024/06/04 19:09
MyBatis控制台输出Sql的方式有两种,一种是自带的格式化输出这种方式对于Mybatis的版本有要求,第二种是,自己手动添加日志规则的打印方式,这种更加的灵活方便。
第一种方法:通过Mybatis自带的
Mybatis提供的标准日志输出,是在3.2.x版本有,我测试了低版本,就报错
<!-- mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.6</version></dependency>
Mybatis标准化输出打印出来的效果
配置mybatis-config.xml
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <settings> <setting name="defaultExecutorType" value="REUSE" /> <!-- 配置控制台输出 --> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> <typeAliases> </typeAliases></configuration>
第二种方式:通过配置Log4j
1、配置log4j.properties
通过只配置监听所有日志的方式,查看打印sql的日志文件是哪一个类
#测试级别是DEBUG#日志 级别 DEBUG -->INFO -->WARN -->ERRORlog4j.rootLogger=DEBUG,Console#Console#日志的输出格式log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
2、运行测试类,查看日志信息
分析日志,我们发现打印sql语句的是druid.sql.Statement
这个类,而且多了一些不需要的spring的日志
3、修改log4j.properties配置
1、提升spring日志的打印等级
2、添加druid.sql.Statement 的监控,去掉druid.sql
包下面的其他类的监控
#测试级别是Warn#日志 级别 DEBUG -->INFO -->WARN -->ERRORlog4j.rootLogger=DEBUG,Console#Console#日志的输出格式log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n#指定Spring的日志级别是WARNlog4j.logger.org.springframework=WARN#指定监测druid.sql.Statement 的日志情况#只监听指定类 #INFO 表示日志的级别#DRUID 是这个监听的类的日志配置的名称,用于下面 指定日志格式用#这种是监听druid.sql 包下面的所有类log4j.logger.druid.sql=INFO,DRUID#控制台输出log4j.appender.DRUID=org.apache.log4j.ConsoleAppender#指定输出的样式log4j.appender.DRUID.layout=org.apache.log4j.PatternLayoutlog4j.appender.DRUID.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
日志结果,大家会发现,没有spring的那些日志输出信息了,只有durid.sql包下面的日志了
只需要druid.sql.Statement的日志
修改 日志配置文件
指定新的日志规则
下面这种方式是,重新建立了一个日志的规则,用来专门处理Statement这个类
#测试级别是Warn#日志 级别 DEBUG -->INFO -->WARN -->ERRORlog4j.rootLogger=DEBUG,Console#Console#日志的输出格式log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n#指定Spring的日志级别是WARNlog4j.logger.org.springframework=WARN#日志级别是WARN才可以显示log4j.logger.druid.sql.Connection=WARNlog4j.logger.druid.sql.ResultSet=WARN#指定监测druid.sql.Statement 的日志情况#只监听指定类 #INFO 表示日志的级别#DRUID 是这个监听的类的日志配置的名称,用于下面 指定日志格式用log4j.logger.druid.sql.Statement=DEBUG,DRUID#控制台输出log4j.appender.DRUID=org.apache.log4j.ConsoleAppender#指定输出的样式log4j.appender.DRUID.layout=org.apache.log4j.PatternLayoutlog4j.appender.DRUID.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
大家再看一下日志文件,发现只剩下Statement 的日志文件了
直接使用原来样式的方式
可以将上面的日志文件改写一下,使用原来的日志输出方式
#测试级别是Warn#日志 级别 DEBUG -->INFO -->WARN -->ERRORlog4j.rootLogger=DEBUG,Console#Console#日志的输出格式log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n#指定Spring的日志级别是WARNlog4j.logger.org.springframework=WARN#日志级别是WARN才可以显示log4j.logger.druid.sql.Connection=WARNlog4j.logger.druid.sql.ResultSet=WARN#指定监测druid.sql.Statement 的Debug 级别#使用上面配置的日志输出方式log4j.logger.druid.sql.Statement=DEBUG
发现只剩下Statement的日志文件了,但问题是好像日志比原来更少了
阅读全文
0 0
- MyBatis之控制台输出sql-yellowcong
- mybatis控制台输出SQL
- mybatis 控制台输出sql
- Mybatis 控制台输出sql信息
- MyBatis控制台输出SQL语句
- mybatis如何在控制台输出sql语句
- MyBatis之注解开发-yellowcong
- mybatis查询入门 (log4j控制台sql语句日记输出)
- mybatis和spring3整合,控制台输出sql语句.
- Spring+mybatis+log4j在控制台输出sql语句
- mybatis 3.2.8 + log4j2.0.2 控制台输出sql语句
- mybatis 3.2.8 + log4j2.0.2 控制台输出sql语句
- Mybatis-SpringMVC-Spring 用log4j在控制台输出 SQL
- 用Log4j在控制台输出Mybatis中执行的SQL
- springMVC+Spring+Mybatis控制台输出sql,配置log4j.properties文件
- mybatis 控制台打印SQL
- Mybatis控制台打印SQL
- Mybatis之$和#的区别-yellowcong
- Java的前世今生的简单说说
- LaTeX 各种命令,符号
- 微信支付 code -2 首查位置推荐
- 膝关节前交叉韧带重建术后取钉记
- jquery追加元素的方法
- MyBatis之控制台输出sql-yellowcong
- 正确学习方法
- More Effective C++ 30. Proxy classes
- Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
- JAVA简述
- (洛谷 1908)逆序对
- android 什么时候用总线模式合适?
- 下载gradle地址
- Oracle 12c创建用户时为什么要在用户名前加”C##"?