MyBatis——Log4J(日志)

1、日志:Log4j

为什么要使用日志;

跑了一个代码,只能看到 结果!结果有错误了。排除错误!

MyBatis日志:

<settings>
    <!--配置日志,就可以看到具体的SQL信息,从而找到出错的原因!-->
    <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

工作中我们用的更多的 log4j

2、如何使用Log4j

1、导入包依赖

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

2、编写log4j的配置文件

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./log/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =./log/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout

3、修改日志实现为 Log4j,注意大小写问题即可

<settings>
    <!--配置日志,就可以看到具体的SQL信息,从而找到出错的原因!
         切换为Log4j 的之后,大小写问题
        -->
    <setting name="logImpl" value="LOG4J"/>
</settings>

4、假设我们要使用Log4j 的类去打印日志

import com.jiang.dao.UserMapper;
import com.kuang.pojo.User;
import com.jiang.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;

public class Test1 {
    // 注意导入包的问题  org.apache.log4j.Logger
    static Logger logger = Logger.getLogger(Test1.class);

    public static void main(String[] args) {

        SqlSession session = MyBatisUtils.getSession();
        RMapper mapper = session.getMapper(RMapper.class);

        System.out.println("1231321222222");// 普通的输出

        // 通过log4j 可以将日志实现细粒度的控制;
        logger.error("1231321222222"); // 错误信息
        logger.info("1231321222222"); // 提示信息
        logger.debug("1231321222222");

        // 属性名和字段不一致!
        User user = mapper.selectUserById(1);
        System.out.println(user);

    }
}
posted @ 2020-02-19 23:50  Godlesss  阅读(142)  评论(0编辑  收藏  举报