Mybatis 打印日志 与springboot 整合
配置文件:
mybatis:
configuration:
map-underscore-to-camel-case:true
mapper-locations:com/**/manage/mapper/*.xml
typeAliasesPackage:com.wkxhotel.**.domain
解释
map-underscore-to-camel-case: 数据库字段安驼峰命名规则自动匹配到实体类上,不需要用别名
typeAliasesPackage 指定实体类的位置
mapper-locations: 指定mapper文件的位置
在classPath : 目录上创建文件
Mybatis-config.xml
内容:
<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>
Logback.xml 里面的内容
<?xml version="1.0"encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址勿在 LogBack 的配置中使用相对路径 -->
<property name="LOG_HOME" value="/home"/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -
%msg%n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 滚动时产生的文件的存放位置及文件名称 %d{yyyy-MM-dd}:按天进行日志滚动 %i:当文件大小超过maxFileSize时,按照i进行文件滚动 -->
<FileNamePattern>${LOG_HOME}/nfs_data_31/log/tomcat/wkxhotel/wkxhotel-company-manage/%d{yyyy-MM-dd}-%i.log
</FileNamePattern>
<!--日志文件保留天数 -->
<MaxHistory>30</MaxHistory>
<!--日志文件最大的大小 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>30MB</MaxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 日志输出格式:%d表示日期时间,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %logger{50} 表示logger名字最长50个字符,否则按照句点分割。
%msg:日志消息,%n是换行符 -->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [
%logger{50}: %line ] - %msg%n</pattern>
</layout>
</appender>
<!--myibatis log configure -->
<logger name="com.apache.ibatis" level="info" />
<logger name="java.sql.Connection" level="info" />
<logger name="java.sql.Statement" level="info" />
<logger name="java.sql.PreparedStatement" level="info" />
<logger name="com.**.manage.dao"level="DEBUG"/>
(这个包名dao 根据项目自定义修改)
<!-- 日志输出级别 -->
<root level="info">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<!--日志异步到数据库 -->
<!-- <appender name="DB"class="ch.qos.logback.classic.db.DBAppender"> 日志异步到数据库
<connectionSourceclass="ch.qos.logback.core.db.DriverManagerConnectionSource">
连接池 <dataSourceclass="com.mchange.v2.c3p0.ComboPooledDataSource"><driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://127.0.0.1:3306/databaseName</url><user>root</user> <password>root</password>
</dataSource></connectionSource> </appender> -->
</configuration>
加载资源
@ImportResource(locations = {"classpath:shiro.xml", "classpath:mybatis-config.xml" })
可不配置默认就会加载classpath的内容
不同的环境日志打印级别不同
dev level="info"
test level="DEBUG"
pro level="ERROR"