日志self4j、log4j和logback

 

分类:开发笔记日志
标签:java日志框架log4jlogback日志日志框架self4j

2020-03-12 03:44:53.0 阅读原文

应用中使用日志框架 SLF4J 中的 API,不直接使用日志系统(Log4j、Logback)中的 API ,有利于维护和各个类的日志处理方式统一。示例 如下:

   import org.slf4j.Logger;
   import org.slf4j.LoggerFactory;
  
   public class Wombat {
  
     final static 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.");
       }
     }
   }

输出日志信息不要进行字符串拼接,应该使用占位符,因为java8中 String 字符串的拼接会使用 StringBuilder 的 append()方法,有一定的性能损耗。使用占位符 仅是替换动作,可以有效提升性能。如下:

logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);

异常信息应该包括:案发现场信息和异常堆栈信息,切勿忘记打印异常堆栈信息。 如下:

logger.error("提示信息+各类参数或者对象+" + e.getMessage(), e);


分类:开发笔记日志
标签:java日志框架log4jlogback日志日志框架self4j

原文链接: 日志self4j、log4j和logback 2020-03-12 03:44:53.0