Mybatis(八)日志的简单理解与应用

本文目的:了解日志文件在数据库操作中发挥的作用与简单的应用!
  1. 为何使用日志文件? 记录每一次对数据库的操作动作,日后如果出现问题,可以查阅日志寻找哪一步操作有问题。
  2. 有哪些日志可以使用? SLF4J LOG4J【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING (标准日志输出)【掌握】 NO_LOGGING
  3. 怎么使用? 3.1 STDOUT_LOGGING: 这个日志非常容易使用,只需要一行代码就可以解决。在pom文件下配置setting标签:
<settings>
	  <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

3.2. LOG4J: 在pom文件中导入依赖:

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

在resource文件下配置LOG4J文件 建立log4j.perproties文件,导入配置信息:

#将等级为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

配置setting标签:

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

测试:

public class UserDaoTest {
          
   
	//定义为全局变量,调用Logger的getlogger方法,传入该测试类反射对象
    static Logger logger = Logger.getLogger(UserDaoTest.class);

    @Test
    //查询id为1的用户信息
    public void getUserById(){
          
   
        SqlSession sqlSession = MybatisUtils.getSqlSession();

//info:写入数据,相当于sout
        logger.info("info:进入selectUser方法");
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.getUserById(1);
        System.out.println(user);
        sqlSession.close();

    }

    @Test
    public void log4jTest(){
          
   
        logger.info("info:进入selectUser方法");
        logger.debug("debug:进入selectUser方法");
        logger.error("error:进入selectUser方法");
           }


}
经验分享 程序员 微信小程序 职场和发展