zoukankan      html  css  js  c++  java
  • mybatis 日志实现 学习总结03

    日志

    1、为什么要使用日志

    使用日志能对项目:

    • 调试:日志便于记录程序在之前的运行结果
    • 错误定位
    • 数据分析:日志中蕴含了大量的用户数据,包括点击行为,兴趣偏好等,对公司下一步的战略方向有一定指引作用。

    Mybatis内置的日志工厂提供日志功能,具体如下:

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

    日志实现由Mybatis内置日志工厂确定,由上到下的顺序查找和使用,如果一个都未找到则日志功能就会被禁用。


    2、标准日志实现

    指定Mybatis使用哪个日志记录实现。如果此设置不存在,则会自动发现日志记录实现。

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

    测试,可以看到控制台有大量的输出!我们可以通过这些输出来判断程序到底哪里出了Bug


    3、Log4j日志的实现

    1、简洁:

    1. Log4j是Apache的一个开源项目
    2. 可以控制日志信息输送的目的地:控制台、文本、GUI组件
    3. 能控制每一条日志的输出格式

    2、实操

    1、导入log4j的jar包

    pom.xml

    <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.17</version>
    </dependency>
    

    2、配置文件编写

    右键resource --> New --> File --> 填“log4j.properties”

    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
    

    3、在配置指定log4j为日志工厂

    mybatis-config.xml

    <settings>
        <!-- 指定日志为logj4-->
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    

    4、测试

    MyTest.java

    import com.dao.userMapper;
    import com.pojo.User;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.log4j.Logger;
    import org.junit.Test;
    import utils.MybatisUtils;
    
    public class MyTest {
        static Logger logger = Logger.getLogger(MyTest.class);
    
        @Test
        public void selectUser() {
            logger.info("info:进入selectUser方法");
            logger.debug("debug:进入selectUser方法");
            logger.error("error: 进入selectUser方法");
    
            SqlSession session = MybatisUtils.getSession();
            userMapper mapper = session.getMapper(userMapper.class);
            User user = mapper.selectUserById(1);
            System.out.println(user);
    
            session.close();
        }
    }
    
  • 相关阅读:
    SQL复制表
    文件流 修改二进制文件
    C#代码开启或关闭window service
    程序员之间的相处
    .NET实现图片下载(后台)
    当要存入数据的数据为null时 必须转换成DBNull.Value
    Maven第三篇【Maven术语、pom.xml介绍】
    Maven第二篇【Idea下使用Maven】
    Maven第一篇【介绍、安装、结构目录】
    SSM整合开发
  • 原文地址:https://www.cnblogs.com/zhouyongyin/p/13455395.html
Copyright © 2011-2022 走看看