MyBatis 之输出 sql 日志

血红的双手。 提交于 2019-12-10 18:15:32

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

两种方式

  1. 使用标准日志输出
    <configuration>
        <settings>
            <setting name="logImpl" value="STDOUT_LOGGING" />  ====》System.out.pringln.
        </settings>
    </configuration>
  2.  使用log4j日志输出
    <configuration>
    
        <settings>
            <setting name="logImpl" value="LOG4J" />
        </settings>
    </configuration>

      

logImpl 指定 MyBatis 所用日志的具体实现,未指定时将自动查找 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING
| COMMONS_LOGGING| STDOUT_LOGGING | NO_LOGGING

Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:

  • SLF4J
  • Apache Commons Logging
  • Log4j 2
  • Log4j
  • JDK logging

MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。

未指定时自动查找???什么意思呢???
只要你的springmvc 工程中配置了log4j.properties ,  
<setting name="
logImpl" value="LOG4J" /> === >可写可不写!!!
就会按照上文列举的顺序查找到对应的配置日志框架Log4。

附上本人的log4j.properties 配置内容
 

#定义LOG输出级别
#说明:须将日志级别调到DEBUG级别,mybatis才会进行sql输出。个人验证一下,确实如此。
log4j.rootLogger=debug,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n

#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所有日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n


mybatis settings 中的日志logImpl value值
mybatis 官方日志配置文档
MyBatis3 用log4j在控制台输出 SQL

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!