微服务容器日志:paascloud-master中Docker日志驱动配置

微服务容器日志:paascloud-master中Docker日志驱动配置

【免费下载链接】paascloud-master spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。 【免费下载链接】paascloud-master 项目地址: https://gitcode.com/gh_mirrors/pa/paascloud-master

日志架构概述

paascloud-master作为Spring Cloud微服务架构,采用分层日志解决方案:底层Docker日志驱动负责容器级日志收集,应用层通过Logback实现业务日志结构化输出。项目已集成logstash-logback-encoder组件(pom.xml),支持JSON格式日志生成,为容器化部署提供标准化日志输出能力。

Docker日志驱动配置方案

1. 基础驱动选择

推荐使用json-file驱动作为基础配置,兼容大多数日志收集系统:

services:
  paascloud-gateway:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

配置路径参考:需在项目docker-compose.yml中添加(当前项目未发现默认Docker编排文件,建议在根目录创建)

2. 高级日志集成

如需对接ELK/EFK栈,可配置gelf驱动直连Graylog:

logging:
  driver: "gelf"
  options:
    gelf-address: "udp://graylog:12201"
    tag: "{{.Name}}"

依赖项目中logstash-logback-encoder的JSON格式化能力(paascloud-gateway/pom.xml

应用层日志配置

Logback集成要点

  1. 添加Maven依赖(已内置):
<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
</dependency>

配置位置:paascloud-common-util/pom.xml

  1. 创建logback-spring.xml配置文件(建议路径:src/main/resources/logback-spring.xml):
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <encoder class="net.logstash.logback.encoder.LogstashEncoder">
    <includeMdcKeyName>traceId</includeMdcKeyName>
    <includeMdcKeyName>userId</includeMdcKeyName>
  </encoder>
</appender>

日志最佳实践

多环境配置策略

环境日志驱动输出目标轮转策略
开发环境json-file本地文件10MB/文件,最多3个
测试环境gelfGraylog服务端管理
生产环境journald系统日志按日轮转

微服务日志关联

利用MDC机制实现分布式追踪:

MDC.put("traceId", UUID.randomUUID().toString());
logger.info("用户登录"); // 自动附加traceId

相关工具类:com.paascloud.core.utils

常见问题排查

日志丢失排查路径

  1. 检查Docker驱动配置:docker inspect [container_id] | grep LogConfig
  2. 验证应用日志输出:docker logs [container_id]
  3. 查看Logback配置:确保没有配置additivity=false导致日志截断

性能优化建议

  • 生产环境禁用控制台输出(ConsoleAppender)
  • 启用日志异步输出:
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
  <appender-ref ref="JSON_FILE" />
</appender>

配置文件模板

完整docker-compose.yml示例(建议保存为docker-compose-log.yml):

version: '3.8'
services:
  paascloud-eureka:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
  paascloud-gateway:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
  paascloud-provider-uac:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

服务列表需根据实际部署的微服务调整,参考paascloud-provider/目录下的服务模块

扩展资源

【免费下载链接】paascloud-master spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。 【免费下载链接】paascloud-master 项目地址: https://gitcode.com/gh_mirrors/pa/paascloud-master

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值