学习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>
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15860163.html