mybatis 日志【vaynexiao】

方式一:内置实现

<settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

在这里插入图片描述

方式二:Log4j

    <dependencies>
        <!-- https://mvnrepository.com/artifact/log4j/log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

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=%d [%t] %-5p [%c] - %m%n
log4j.logger.org.apache=INFO
 
### 解释 ###
 
## log4j.rootLogger ##
# 作用:控制日志输出的级别、输出的位置。
# 参数:级别、输出的位置
# 级别: DEBUG < INFO < WARN < ERROR (除了这些,还有其他级别)
# 级别作用:以选DEBUG级别为例,大于DEBUG级别的信息(INFO/WARN/ERROR)也会输出
# 选用DEBUG级别的原因:是跟Mybatis的源码有关(你会发现最低的级别是DEBUG)。
# 查看源码1:可以将Mybatis的源码文件夹直接导入到项目中的Mybatis的jar包引用中。具体操作:右击项目--》
properties--》Java Build Path --》选择顶部的Libraries页面 --》点击展开mybatis.jar 
--》选择Source attachment --》点击右边的Edit --》External location --》 External File... 
-》选择Mybatis源码文件夹 --》OK --》Apply
# 查看源码2:项目中的Referenced Libraries --》 mybatis.jar 
--》org.apache.ibatis.logging.jdbc 里面的class文件
 
## log4j.appender.Console ## 
# 作用:真正控制,日志输出到什么地方,取决于参数用了什么类
# log4j.appender.名称  名称可以自定义,而 log4j.rootLogger中的位置就要写这个名称
 
## log4j.appender.Console.layout ##
# 作用:以什么布局方式输出日志,这里是自定义的布局
 
## log4j.appender.Console.layout.ConversionPattern ##
# 作用:就是你自定义的布局
# %d 是产生日志的时间。 %t 是产生这个日志所处的线程的名称。
# %p 是输出日志的级别,%-5p 5,就是输出5位字符,不足补空格 -,补的空格在右边
# %c 是输出的这个日志所在的类的全名。  %m 是你附加的信息。  %n 是换行
 
## log4j.logger.org.apache 对 org.apache ##
# 作用:的输出级别进行设置(也可以换成其他包),**此处**的会覆盖掉log4j.rootLogger设置的级别。就是选择我们需要看的信息。

public class Log4jDemo {

    //创建日志记录器 Logger
    static final Logger logger = Logger.getLogger(Log4jDemo.class);

    public static void main(String[] args) {

        logger.setLevel(Level.WARN);
        // debug level
        logger.debug("This is debug level  log");
        // info level
        logger.info("This is info level log");
        // warning level
        logger.warn("This is warning level log");
        // error level
        logger.error("This is error level log");
    }

}
发布了54 篇原创文章 · 获赞 105 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/vayne_xiao/article/details/105303613