这门课解决什么问题:把散落的日志串成可追踪的链路
后端开发和排查线上故障时,最让人头疼的不是代码报错,而是请求在多个服务之间跳转后,日志变成了一盘散沙。一个前端请求可能经过网关、订单服务、库存服务,每个节点都在各自打印日志,一旦出问题,很难把同一笔请求的完整轨迹拼凑出来。这门基于 Java 日志平台的访问链路追踪实战课,解决的就是这个具体场景。它不教你写业务代码,而是从日志的生命周期切入,讲清楚日志从代码里打印出来,经过中间件采集、传输、存储,最终在平台上被串联成完整调用链的全过程。学完之后,你能理解为什么一个项目里会同时出现四五种日志框架的历史包袱,以及如何用统一的方案把它们治理顺。
适合什么基础,建议先看哪几块
这门课适合已经能独立写 Java Web 应用、至少用 Spring Boot 做过两三个接口的读者。如果你连依赖注入和基础注解都还没理清,建议先补基础再看。课程前半段花了大量篇幅梳理 Java 日志体系的发展脉络,从早期的系统日志到 log4j、JUL、JCL,再到 logback、slf4j 和 log4j2。这段内容看起来像历史课,但它是理解后续中间件配置的关键。建议先集中看日志体系概述和几个框架的代码实例展示,重点对比 slf4j 作为门面与其他实现框架的配合关系。搞清楚这一点,后面配置中间件采集规则时才不会一脸茫然。如果时间紧,配置详解那部分可以边动手边回看,不必一次性硬记。
学完能独立做什么,资料怎么配合练习
学完之后,你应该能在自己现有的 Spring Boot 项目里独立接入一套链路追踪方案:给每笔请求打上唯一 traceId,让这个 ID 随日志自动透传到下游服务,最终在日志平台上按 ID 检索出完整调用链。这不是装个依赖就完事,涉及日志框架适配、中间件采集配置、过滤规则编写等多个环节。资料配合练习的方式建议这样安排:先跟着视频里的 log4j 和 logback 实例代码,在自己本地起一个最小项目,手动改几轮配置文件,观察不同级别和格式的输出差异;然后再引入课程后半段讲的中间件工具,把本地单应用的日志推送到采集端。整个过程不要只是跟着敲,每改一处配置就触发一次请求,对比平台上的检索结果和本地控制台输出,这样才能真正理解每个环节在链路里起的作用。
课程系统介绍了日志的生命周期。课程从日志工具基础知识入手,介绍了相关的日志组件发展历程和基本配置,然后介绍后续日志环节的各个中间件工具,最后从实战角度,依据前面
课程目录
* 第一章 日志专题-java日志体系基础/
* 课程介绍/
* 01.课程简介及学习目标
* 体系概述/
* 02.java日志体系概述
* 发展历程/
* 03.系统日志与log4j日志简介
* 04.log4j实例代码展示
* 05.jul的诞生与代码展示
* 06.jcl的历史背景与简介
* 07.jcl面向接口代码风格展示
* 08.jcl的优缺点与解决方案
* 09.logback的历史和编码风格
* 10.slf4j与其他日志的配合与总结
* 11.log4j2的配置与日志发展历程总结
* 配置详解/
* 12.日志组件配置概述
* 13.jul配置文件与级别
* 14.jul打印级别与其他配置项
* 15.log4j配置文件与配置项
* 16.log4j的appender及pattern格式
* 17.logback配置及官方文档使用
* 18.logback配置自动刷新
* 19.jcl配置及实现类优先级
* 20.commons-logging配置文件验证
* 21.jcl日志输出级别
* 22.log4j2配置介绍及官方文档使用
* 23.sl4j配置与项目搭建
* 24.slf4j日志实现规则验证
* 25.slf4j日志环
* java日志总结/
* 26.java日志总结
* 第二章 日志专题-日志平台搭建/
* 中间件概述/
* 01.日志中间件概述
* 02.常用中间件类比
* ES搭建与相关工具/
* 03.ES简介
* 04.ES配置与启动01
* 05.ES配置与启动02
* 06.ik分词器的安装与使用
* 07.eshead启动与验证
* 08.eshead基本功能展示
* logstash搭建与配置/
* 09.logstash简介与配置
* 10.logstash采集验证
* kibana搭建与使用/
* 11.kibana的配置与启动
* 12.kibana的日志配置与基本使用
* kafka与相关工具/
* 13.kafka启动与配置
* 14.kafka的启动验证与命令行工具
* 15.logstash通过kafka通道采集
* 16.kafka-manager配置与启动
* 17.kafka-manager的使用
* filebeat的使用/
* 18.filebeat配置与启动
* 19.filebeat采集数据通道验证
* 20.logstash配置对filebeat的json解析
* 平台搭建小结/
* 21.中间件小结
* 第三章 日志专题-项目设计与搭建/
* 项目概述/
* 01.项目实战之需求概述
* 02.项目实施的设计目标
* 系统设计/
* 03.采集变量与前端设计思路
* 04.后台java及微服务设计
* 05.采集平台拓扑
* 微服务框架搭建/
* 06.项目模块划分
* 07.nacos启动与使用
* 08.借助spring工具生成父pom
* 09.maven工具生成web基本结构
* 10.web子模块的boot配置
* 11.web启动与nacos注册
* 12.user模块创建与启动
* utils项目搭建/
* 13.utils与logbean
* 14.LogBean的日志打印
* 第三方kafka集成/
* 15.logback-kafka的组件说明
* 16.logback-kafka日志组件的集成
* 17.logback-kafka启动验证
* 18.user集成kafka
* 自定义kafka日志集成/
* 19.自定义实现kafkaAppender
* 20.kafka的基本参数配置
* 21.自定义KafkaAppender的使用
* 22.自定义Appender验证与总结
* 23.user集成KafkaAppender
* 项目搭建总结/
* 24.总结
* 第四章 日志专题-链路追踪项目开发/
* 前端日志收集/
* 01.openresty的下载与启动
* 02.集成lua-kafka及验证
* 03.from来源追踪
* 04.lua生成requestid
* 05.lua生成terminalid
* 06.获取ip与url
* 后端日志生成/
* 07.微服务启动与转发
* 08.filter拦截与验证
* 09.CommonUtils工具类
* 10.变量值的填充
* 微服务内部传递/
* 11.threadlocal的定义与使用
* 12.threadlocal上下文验证
* 13.切面和注解定义
* 14.切面的使用与验证
* 15.乱序产生的原因与解决
* 16.乱序问题验证
* 跨服务传递/
* 17.远程调用场景代码
* 18.跨服务验证与问题追踪
* 19.自定义RestTemplate
* 20.自定义RestTemplate验证
* 用户登陆信息采集/
* 21.用户登录与sid的创建
* 22.sid的使用与打印验证
* 23.前端请求用户信息追踪
* 演示与总结/
* 24.整体测试与追踪演示
* 25.总结






