Slf4j+logback日志使用(未完待续)

  1. 1. 日志Log默认格式
  2. 2. Spring Boot默认日志系统
  3. 3. 如何将日志信息存储到文件

​ 日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节。但是,这丝毫不影响它在任何一个系统中的重要的地位。

​ 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生产环境一旦出现问题,预警系统就会通过邮件、短信甚至电话的方式实施多维轰炸模式,确保相关负责人不错过每一个可能的bug。

​ 预警系统判断疑似bug大部分源于日志。比如某个微服务接口由于各种原因导致频繁调用出错,此时调用端会捕获这样的异常并打印ERROR级别的日志,当该错误日志达到一定次数出现的时候,就会触发报警。

日志Log默认格式

Spring Boot 的默认日志输出类似于以下示例(springboot运行时控制台的输出):

1
2
3
4
2022-06-16 20:43:06.350  INFO 1036 --- [  restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged
2022-06-16 20:43:06.351 INFO 1036 --- [ restartedMain] c.e.t.TestSpringbootApplication : 信息
2022-06-16 20:43:06.351 WARN 1036 --- [ restartedMain] c.e.t.TestSpringbootApplication : 警告
2022-06-16 20:43:06.351 ERROR 1036 --- [ restartedMain] c.e.t.TestSpringbootApplication : 异常

详细介绍:

  1. 日期和时间:毫秒精度,易于排序。
  2. 日志级别:ERROR、WARN、INFO、DEBUG 或 TRACE。
  3. 进程标识(动态分配)。
  4. A — 分隔符来区分实际日志消息的开始。
  5. 线程名称:括在方括号中(可能会被截断以用于控制台输出)。
  6. 记录器名称:这通常是源类名称(通常缩写)。
  7. 日志消息。

日志级别大小:TRACE < DEBUG < INFO < WARN < ERROR < FATAL ,且级别是逐渐提供,如果日志级别设置为INFO,则意味TRACE和DEBUG级别的日志都看不到。如果这里设置为WARN,INFO级别的日志都不显示。

Spring Boot默认日志系统

Spring Boot默认使用LogBack日志系统,如果不需要更改为其他日志系统如Log4j2等,则无需多余的配置,LogBack默认将日志打印到控制台上。

如何将日志信息存储到文件

在本机环境,我们习惯在控制台看日志,但是线上我们还是要通过将日志信息保存到日志文件中,查询日志文件即可。

摘抄记录:https://www.cnblogs.com/bigdataZJ/p/springboot-log.html#:~:text=Spring%20Boot%E9%BB%98%E8%AE%A4%E6%97%A5%E5%BF%97%E7%B3%BB%E7%BB%9F,Spring%20Boot%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8LogBack%E6%97%A5%E5%BF%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E9%9C%80%E8%A6%81%E6%9B%B4%E6%94%B9%E4%B8%BA%E5%85%B6%E4%BB%96%E6%97%A5%E5%BF%97%E7%B3%BB%E7%BB%9F%E5%A6%82Log4j2%E7%AD%89%EF%BC%8C%E5%88%99%E6%97%A0%E9%9C%80%E5%A4%9A%E4%BD%99%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%8CLogBack%E9%BB%98%E8%AE%A4%E5%B0%86%E6%97%A5%E5%BF%97%E6%89%93%E5%8D%B0%E5%88%B0%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B8%8A%E3%80%82