跳转至

项目中如何用日志

一、日志框架

  • SLF4J:门面。
  • Logback:实现(Spring Boot 默认)。
  • Log4j2:高性能。

二、日志级别

  • ERROR:错误。
  • WARN:警告。
  • INFO:重要信息。
  • DEBUG:调试。
  • TRACE:最细。

三、配置

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>app.log</file>
    <rollingPolicy>
        <fileNamePattern>app.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxFileSize>100MB</maxFileSize>
    </rollingPolicy>
</appender>

四、日志规范

  • 关键节点打 INFO。
  • 异常打 ERROR,带堆栈。
  • 不打敏感信息。
  • 用占位符:
log.info("用户 {} 下单 {}", userId, orderId);

五、日志收集

  • Filebeat → Kafka → ES → Kibana。
  • 或者 ELK。

六、MDC

traceId 放 MDC,所有日志带 traceId:

MDC.put("traceId", traceId);

规范

别用 System.out.println,用 SLF4J。