Mybatis--日志(Log4J)

1.日志

1.日志工厂

  • 如果一个数据库的操作,出现了异常,需要排错,那么日志就是最好的帮手。

  • 根据mybatis文档setting(设置)
    在这里插入图片描述

  • LOG4J (掌握)

  • STDOUT_LOGGING(掌握)(默认的标准的日志工厂)

2.开始编写

2.1 使用STDOUT_LOGGING默认日志工厂

  • 写在"引入外部配置文件"的下面。

  • 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核心配置文件 -->
    <configuration>
    
    <!--    引入外部(db.properties)配置文件-->
        <properties resource="db.properties"/>
    
    <!--    使用标准的默认的日志工厂-->
        <settings>
            <setting name="logImpl" value="STDOUT_LOGGING"/>
        </settings>
        
    
    </configuration>
    

    日志的一些核心东西:

在这里插入图片描述

2.2 使用LOG4J日志工厂

  • 什么是log4j?

    • Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件;
    • 我们也可以控制每一条日志的输出格式;
    • 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
    • 最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
  • 导入LOG4J的jar:

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    
  • 在resource文件夹中创建log4j.properties文件,内容:

    #将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
    log4j.rootLogger=DEBUG,console,file
    
    #控制台输出的相关设置
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.Target = System.out
    log4j.appender.console.Threshold=DEBUG
    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=./log/kuang.log
    log4j.appender.file.MaxFileSize=10mb
    log4j.appender.file.Threshold=DEBUG
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
    
    #日志输出级别
    log4j.logger.org.mybatis=DEBUG
    log4j.logger.java.sql=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG
    
  • 在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核心配置文件 -->
    <configuration>
    
    <!--    引入外部(db.properties)配置文件-->
        <properties resource="db.properties"/>
    
    
    <!--    使用STDOUT_LOGGING标准的默认的日志工厂
        <settings>
            <setting name="logImpl" value="STDOUT_LOGGING"/>
        </settings>
    -->
    <!--    使用log4j日志工厂-->
        <settings>
            <setting name="logImpl" value="LOG4J"/>
        </settings>
    </configuration>
    

    结果:

在这里插入图片描述

简单使用

1.在使用Log4j的类中,导入包import org.apache.log4j.Logger;

2.日志的参数为当前类.class

static Logger logger = Logger.getLogger(UserDaoTest.class);

3.在测试类代码:

package edu.xalead.dao;

import edu.xalead.pojo.User;
import edu.xalead.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test;


public class UserDaoTest {
    static Logger logger = Logger.getLogger(UserDaoTest.class);

    @Test
    public void getUserById(){
        SqlSession session = MybatisUtils.getSqlSession();
        UserMapper userMapper = session.getMapper(UserMapper.class);
        User user = userMapper.getUserById(1);
        System.out.println(user.toString());
        session.close();
    }

    @Test
    public void testLog4j(){
        logger.info("info:进入了testLog4");
        logger.debug("debug:进入了testLog4j");
        logger.error("error:进入了testLog4j");
    }
}

在当前文件目录下生成一个log日志文件,运行testLog4j()方法时,将结果存在在log日志文件中

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用MyBatis-Plus时,可以通过配置来控制日志的输出。有两种方式可以实现这一点。第一种方式是在mybatis-plus的配置文件中设置日志实现类为org.apache.ibatis.logging.stdout.StdOutImpl。这样就会将日志输出到控制台上。\[1\]第二种方式是在application.yml文件中增加配置,指定mapper文件所在的包,并设置日志级别为debug。这样就可以控制mybatis-plus的日志输出级别。\[2\]另外,还可以使用yml规范的写法来配置日志输出。例如,可以将日志输出到logs/sys.log文件中,并设置cn.shangze.boot.modules.oa.mapper包下的日志级别为debug。\[3\] #### 引用[.reference_title] - *1* *2* [mybatis-plus配置log4j2进行日志输出](https://blog.csdn.net/evalsys/article/details/106060257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [springboot+mybatis-plus在log控制台输出sql语句的方法](https://blog.csdn.net/FengRenYuanDeFZ/article/details/101060423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值