学习MyBatis必知必会(3)~日志框架


一、日志框架

1、为什么要使用日志框架?

  • 比起打印System.out.println,日志框架可以把日志的输出和代码进行分离
  • 日志框架可以很方便地定义日志的输出环境:控制台/文件/数据库
  • 日志框架可以很方便地定义日志的输出格式和输出级别

2、常见的日志框架/组件:

  • 规范:Commons-logging、SLF4J

□ JDK-Logging:太简单,拓展性差,使用很少。

Commons-logging:Apache 提供的日志规范,不提供具体实现,会通过动态查找的机制找出真正日志的实现库。

SLF4J:制定了日志的规范,使用时得拷贝整合包。

□ Log4j:功能强大,可以把日志输出到控制台、文件中,是出现比较早且最受欢迎日志组件。

□ Log4j2:是 Log4j 的升级,基本上把 Log4j 版本的核心全部重构。

□ Logback:由 Log4j 创始人设计的另一个开源日志组件,也是作为 Log4j 的替代者出现的。性能比log4j高,官方是建议和SLF4j一起使用, Logback、slf4j、Log4j 都是出自同一个人,所以默认对 SLF4J 无缝结合。



3、日志级别 ERROR > WARN > INFO > DEBUG > TRACE

  • 日志级别越低,内容越详细

  • 日志文件的内容主体:rootLogger、logger、appender

    □ rootLogger-设置全局的信息【默认输出级别和输出风格】

    □ logger-设置自定义的信息【输出级别和输出风格】

    □ appender-设置日志输出位置(控制台、文件)


4、编写一个l 日志文件[log4j.properties]【输入中文,若出现乱码,设置一下.properties文件的编码方式为utf-8】

✿ 记得拷贝jar包:log4j-1.2.17.jar

✿ log4j.properties文件内容:
# 全局日志设置【输出级别-error、控制台】
log4j.rootLogger=ERROR, stdout
# 自定义日志设置【自自定义某个包/某个类(log4j.logger后边接上包的全限定名/类的全限定名)输出级别】
log4j.logger.com.shan.hello=TRACE
# 输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t]  - %m%n

✿ 在mybatis全局配置文件[mybatis-config.xml文件] 进行配置一下日志信息:
<configuration>
  <settings>
    <setting name="logImpl" value="LOG4J"/>
    ...
  </settings>
</configuration>
posted @ 2022-02-02 11:28  一乐乐  阅读(57)  评论(0编辑  收藏  举报