2018-01-14 Java应用日志

java日志体系

java日志体系很混乱。在日志实现框架在有log4j,log4j2,java.util.log, logback等。这导致在项目中如何使用其中一个日志框架的话,调用的api也是跟日志框架强绑定在一起了。基于这些问题,出现了日志门面,也就是一个从这些日志框架中抽象出来的接口层,日志门面现在有sl4j和apache common-logging。但是在现有的日志实现框架的api并没有实现这些门面框架的接口,所以出现了日志桥接框架。综上所述,java日志体系包括了

  • 日志门面:
    1. sl4j
    2. apache common-logging
  • 日志实现框架:
    1. log4j
    2. log4J2
    3. JDK-logging
    4. logback
  • 日志桥接框架

目前推荐使用SL4J和logback

SL4J

sl4j官方文档

例子

 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory; 

 public class Wombat {

    final Logger logger = LoggerFactory.getLogger(Wombat.class);
    Integer t;
    Integer oldT;

    public void setTemperature(Integer temperature) { 
        oldT = t;        
        t = temperature;
        logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
        if(temperature.intValue() > 50) {
        logger.info("Temperature has risen above 50 degrees.");
        }
    }
} 

JAVA日志体系在SL4J中的体现

新应用正常使用

2018-01-14 Java应用日志_第1张图片
image

桥接遗留依赖其他日志实现应用的api

2018-01-14 Java应用日志_第2张图片
image

其他参考博文

  • https://www.cnblogs.com/chenhongliang/p/5312517.html
  • https://my.oschina.net/pingpangkuangmo/blog/406618

你可能感兴趣的:(2018-01-14 Java应用日志)