Mybatis学习记录--log4j ,slf4j打印日志

1, 声明

本博客所有内容来源于网络、书籍、和各类手册。
内容均为非盈利,旨为学习记录,方便查询、总结备份、开源分享。
部分转载内容均有注明出处,如有侵权请告知,马上删除

2, maven依赖管理

3个依赖jar包
log4j的jar包
slf4j日志包
slf4j+ log4j桥接 日志包

    <!-- 日志文件管理包 -->
    <!-- log start -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>

    <!-- slf4j日志包-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>
    <!-- slf4j+ log4j桥接 日志包-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.25</version>
      <scope>test</scope>
    </dependency>

3, mybatis的配置文件

下面放置了整个配置文件,其实主要是开始打印日志的settings

    

Mybatis提供了以下几种打印日志的实现工具
SLF4J
Apache Commons Logging
Log4j 2
Log4j
JDK logging


SqlMapConfig.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>
        <!-- 用于输出日志 log4j:LOG4J SLF4J -->
        <setting name="logImpl" value="SLF4J"/>
        <!--打开延迟加载的开关,默认为true-->
        <setting name="lazyLoadingEnabled" value="true"/>
        <!--积极的懒加载,默认是true,设置为false时,懒加载生效-->
        <setting name="aggressiveLazyLoading" value="false"/>
        <!--开启二级缓存总开关-->
        <setting name="cacheEnabled" value="true"/>
    </settings>

    <typeAliases>
        <!-- 别名为类名首字母大小写都可以 -->
        <package name="com.hardes.pojos"/>
    </typeAliases>


    <!-- 原先这里还有连接数据库的一些配置,与spring整合后,都交由spring来管理 -->
    <!-- 加载mapper映射文件,使用通用的配置 -->
    <mappers>
        <package name="com.hardes.mappers"/>
    </mappers>

</configuration>

slf4j的存在是用作一个适配层,由于引用的不同的jar包存在不同的日志打印的实现方式(log4j,common logging, jdk logging等),所以slf4j可以类似于接口似的存在,通过他可以兼容不同的日志工具。

对于slf4j + log4j
只有当你的环境中存在log4j,即,只有相应的日志实现(log4j)存在的前提下,调用对应的方法才是有意义的.

4, log4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

参考链接

SSM框架下结合 log4j、slf4j打印日志
logging

你可能感兴趣的:(Java)