Mybatis框架(九)Mybatis中使用Log4j

一、什么是Log4j

  • Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件
  • 我们也可以控制每一条日志的输出格式
  • 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
  • 通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
    二、Log4j的三大组件
  • Logger:日志记录器,负责收集处理日志记录 (如何处理日志)
  • Appender:日志输出目的地,负责日志的输出 (输出到什么 地方)
  • Layout:日志格式化,负责对输出的日志格式化(以什么形式展现)
    三、日志的级别
    debug<info<warn<error<fatal
  • FATAL: 重大错误(系统有问题)
  • ERROR: 错误(一个模块有问题)
  • WARN: 警告
  • INFO: 信息:可以查看程序执行的流程
  • DEBUG: 调试,用来调试程序的bug及显示

四、在Mybatis中使用Log4j
这里是idea创建的maven项目。具体创建过程不做介绍。
(1)在pop.xml中导入Log4j的依赖包。

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

(2)在resources文件夹下面创建文件og4j.properties。

log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=./log/wst.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

(3)在Mybatis的配置文件中配置log4j为日志实现。

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

(4)测试实现。
在这里插入图片描述
我们可以看到log4j.properties中:
在这里插入图片描述
在执行完成上面的查询语句后,位于log文件夹中wst.log的文件:
在这里插入图片描述
下面是一个简单的使用:
建立日志器:

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

log4j.properties

log4j.rootLogger=INFO, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=./log/wst.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

测试代码示例:

@Test
public void TestLog4j() {
        logger.debug("调试debug信息");   //1
        logger.info("普通Info信息");   //2
        logger.warn("警告warn信息");  //3
        logger.error("错误error信息");    //4
        logger.fatal("严重错误fatal信息");  //5
}

测试输出结果:
在这里插入图片描述
上面的输出结果:是因为我们定义了INFO的级别:大于等于INFO的级别将会输出信息!!!
在这里插入图片描述
下面改为ERROR的级别:

log4j.rootLogger=ERROR, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=./log/wst.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

测试输出结果:
在这里插入图片描述

发布了105 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43759352/article/details/104580220