- ①. 日志框架的演变
- ②. 如何简单的使用
- ①. 1.4之前,没有任何的日志框架。项目中都是通过System.out.prinln(“”)进行输出内容,有一个工程师小明,考虑如下几种情况:
- 将日志按照级别输入,按照包或者类来输入
- 将日志输入到文件中,能不能按照日期或者文件大小来进行归档
- 自定义格式,让日志更美观
-
②. 经过代码的开发,开源了log4j框架,所有的开发人员都可以维护这个框架,后面被apache收购
-
③. JDK也想开发自己的日志框架,经过研发的努力,开发出了JU(java.util.logging)框架、后面也有很多的日志框架如:Jbosslogging
-
④. 小明这个时候想把市面上的日志框架做一个集成,于是开发出了slf4j框架,slf4j不实现日志功能,我们可以把它理解成一个门面
JDK当然也不甘,自己开发出了JCL(jakarta common logging),毕竟slf4j比较早好用,最终slf4j占据主导地位 -
⑤. 小明基于这个log4j开发出来一个logback(相当于门面具体的商家)
这个时候,apache也不甘示弱,开发了一个log4j2的框架
- ①. 导入依赖
org.slf4j
slf4j-api
1.7.30
ch.qos.logback
logback-classic
1.2.3
- ②. 主要有两种获取Logger方式
Logger最好作为类的静态变量 使用,推荐使用第二种,最好加final关键字来修饰
private Logger logger = LoggerFactory.getLogger(getClass()); private static Logger logger = LoggerFactory.getLogger(JdbcUtil.class);
-
③. 各级别的排序为:TRACE < DEBUG < INFO < WARN < ERROR(默认是DEBUG级别)
-
④. 代码测试
@Test
public void test(){
//默认级别是debug,大于等于debug的都会输出
logger.trace("跟踪级别");
logger.debug("调试级别");
logger.info("信息级别");
logger.warn("警告级别");
logger.error("异常级别");
}
- ⑤. 在resource下新建logback.文件
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{100} - %msg%n org.apache.ibatis.transaction



