背景
java的日志分两个方面,一个是日志框架,一个是日志框架的门面框架,一个是用来输出日志,一个是用来统一提供一个门面类,使得可以一种写法(即同一行代码)可以调用不同的框架,具体要看你怎么配置,配置的是哪一种,就具体使用哪一种框架,而门面类本身是不输出日志,它只是调用日志框架来输出日志。
这里用到的设计模式是门面模式,即门面类提供了统一的接口,具体执行的是哪一种日志框架,可以随便切换,而日志打印代码不需要改变。
日志框架
分几种
1.common log
2.log4j
3.log4j的升级版-logback
log4j的升级版,比log4j的性能更快,springboot默认使用的是logback。
门面类
slf
代码里如何使用?
package com.wz.bpm;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
@MapperScan("com.wz.bpm.mapper")
@EnableCaching
public class BpmMainApplication {
private static Logger logger = LoggerFactory.getLogger(BpmMainApplication.class); //说明,这一行代码里的日志类全部都是门面框架的类,所以切换日志框架,这里的代码不用变动。
public static void main(String[] args) {
logger.info("服务器启动。。。");
SpringApplication.run(BpmMainApplication.class, args);
}
}
输出结果
15:15:15.765 [main] INFO com.wz.bpm.BpmMainApplication - 服务器启动。。。
参考
tengj.top/2017/04/05/… //写的非常好