三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务

1、Slf4j+logback 日志SpringBoot框架的默认日志实现:slf4j + logback;
默认日志级别:info,对应了实际生产环境日志级别;
1.1 日志级别# 常见的日志框架中,日志级别都包含五种,优先级从低到高:trace < debug < info < warn < error #日志输出规则是:自动设置的日志级及更高级别,进行日志输出;比如当前日志级别是info,那么日志输出的级别包含:info,warn,error,凡是业务的这三个级别,都会输出到日志文件1.1.1 trace 日志级别trace 日志级别,了解,实际开发中 , 几乎不会使用此级别;(配置文件指定为 trace级别才会输出);
logger.trace("------------ trace 日志级别,了解,实际开发中,几乎不会使用此级别 ------------------");1.1.2 debug 日志级别

  1. debug 日志级别 , 掌握,实际开发中 , 此日志级别作为调试日志使用 , 是线上调试问题定位的有效手段;
  2. 强调:线上一般默认是不开debug日志,因此日志级别记录的日志极为详情,会产生大量的日志内容及文件;
  3. 发现线上问题 , 不好定位时 , 临时开启debug;
logger.debug("------------ {} 日志级别,{},实际开发中,此日志级别作为调试日志使用 , 是线上调试问题定位的有效手段 ------------------","debug","掌握");1.1.3 info 日志级别info 日志级别,掌握,实际开发中,此日志级别是核心业务环境日志,不需要记录特别详细 , 一般都是接口 入和出,方便版本上线查看业务是否正常使用;
logger.info("------------ {} 日志级别,{},实际开发中,此日志级别时核心业务环境日志,不需要记录特别详细 ------------","info","掌握");1.1.4 warn 日志级别【三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务】warn 日志级别 , 掌握 , 实际开发中,此日志级别是业务警告日志,警告日志不一定是错误,可能业务异常流程,或者数据错误判断;
logger.warn("------------ {} 日志级别,{},实际开发中,此日志级别时业务警告日志 ------------","warn","掌握");1.1.5 error 日志级别error 日志级别,掌握,实际开发中,此日志级别是核心业务错误,凡是系统中出现了异常或者程序错误,都必须使用error日志 , 级别最高,确保必须输出,可以有效的记录线上业务的错误;
logger.error("------------ {} 日志级别,{},实际开发中,此日志级别是核心业务错误 ------------","error","掌握");1.2 日志使用1.2.1 创建日志对象//创建日志对象Logger logger = LoggerFactory.getLogger(getClass());logger.trace("");logger.debug("");logger.info("");logger.warn("");logger.error("");1.2.2 @Slf4j 注解@Slf4jpublic class ChargeResultNotifySchedule{log.trace("");log.debug("");log.info("");log.warn("");log.error("");}1.3 配置文件配置日志 信息1.3.1 测试默认日志级别1.3.1.1 直接运行测试类
三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务

文章插图
1.3.1.2测试类增加 @RunWith(SpringRunner.class) 注解测试类增加 @RunWith(SpringRunner.class) 注解 运行的是SpringBoot项目测试,会读取到配置文件;
三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务

文章插图
1.3.2 修改配置文件信息1.3.2.1 修改默认日志级别为 debug# 默认日志级别为 info,更改默认日志级别debuglogging:level:com:kgc:sbt: debug
三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务

文章插图
1.4 指定日志输出1.4.1 指定日志输出到指定文件
  1. 默认日志只输出到控制台;
  2. 指定输出到指定文件,默认会加载到根路径下;
  3. 所有的日志,都是追加记录 , 不会执行覆盖;
logging: file: kh96-logging.log日志输出到根目录下的指定文件名下:
三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务

文章插图
1.4.2 指定日志输入到指定目录下不指定文件名,SpringBoot中的logback会由默认的日志名spring.log;
logging: path: D:/KEGONGCHANG/DaiMa/IDEA/KH96/SpringBoot/SpringBoot/TempFile/kh96-logging2默认名:
三 SpringBoot - Slf4j+logback 日志,异步请求,定时任务

文章插图

推荐阅读