《Spring Boot 入门》16.1 日志配置与级别
本节为图书服务建立生产可用的日志基线:讲清 SLF4J 门面与 Logback 实现的分工,以及为什么不要直接依赖 Log4j2 API;给出六个级别的选择依据与 logging.level.<包名> 的精确控制;解读 4.1.1 的真实启动日志;讲透 logging.file.name 与 path 的差别、轮转配置、4.1 的 Log4j 文件轮转与 logging.group 分组。
tag
本节为图书服务建立生产可用的日志基线:讲清 SLF4J 门面与 Logback 实现的分工,以及为什么不要直接依赖 Log4j2 API;给出六个级别的选择依据与 logging.level.<包名> 的精确控制;解读 4.1.1 的真实启动日志;讲透 logging.file.name 与 path 的差别、轮转配置、4.1 的 Log4j 文件轮转与 logging.group 分组。
日志既是排障的第一现场,也是性能的隐形杀手。本文拆解 spdlog 的 logger/sink/formatter 架构,讲清同步与异步日志的队列模型与丢日志边界,演示结构化 JSON 日志与字段设计,并给出编译期级别裁剪、backtrace 环形缓冲与 OpenTelemetry 集成的落地方案。
系统梳理 Docker 日志的两条路径:日志驱动直发与落盘后采集。逐个对比 json-file、local、journald、fluentd 等驱动的适用场景与配置参数,剖析 max-size/max-file 轮转、非阻塞模式与背压丢日志的机制,并给出采集管道、多行日志处理与容器日志排障的完整实践。
系统讲解 logrotate 的策略指令与 postrotate 钩子、压缩延迟与保留期计算、归档到对象存储的生命周期与校验,以及 rename 加 reopen 与 copytruncate 两种模型下的写入安全、竞态规避、容器场景差异与常见踩坑速查。
以 ClickHouse 构建可观测性后端,覆盖日志表设计、指标 rollup 预聚合、Kafka 摄入管道、Grafana 数据源与查询模式、索引与投影加速、冷热分层与 TTL 成本治理,以及高基数与查询熔断防护,并给出可落地的生产容量规划方法。
系统讲解 WASM 的可观测性建设:为什么 WASM 的可观测性比常规服务更难、运行时指标采集、手动与自动插桩、分布式追踪的上下文传递与 span 边界、结构化日志、性能剖析与火焰图、内存与资源监控、告警与 trap 分析,以及多租户观测隔离与生产落地清单。
系统讲解 TypeScript/Node 服务的可观测性建设:可观测性三支柱、OpenTelemetry SDK 与自动/手动埋点、Span 与上下文传播、pino 结构化日志与 trace 关联、Counter/Histogram/Gauge 指标、W3C TraceContext、采样策略与 OTLP Collector 接入,以及生产排错实践。
讲解多层代理下真实客户端 IP 的还原方法,涵盖 X-Forwarded-For 信任链与伪造风险、ngx_http_realip_module 的 set_real_ip_from 配置、PROXY protocol 在四层的传递,以及与访问日志和限流的联动。
系统梳理 Nginx 排错与调试方法论,覆盖错误日志分级与 debug 编译、core dump 与 gdb 分析、连接状态与 stub_status 排查、502/504/499 故障树以及常见性能陷阱定位。
讲解如何用 grep/awk/sed 按模式提取日志字段、按时间窗口做滚动统计与去重、计算错误率并触发阈值告警,并给出与 sort/uniq 组合的实战套路。
系统讲解 .NET 应用的可观测性建设,覆盖 ILogger 与日志级别、结构化日志、Serilog 管道、OpenTelemetry 链路追踪与指标采集、健康检查,以及日志治理与容量管控的最佳实践。
可观测性是现代分布式系统的核心能力。本文系统讲解 Zig 中 std.log 接口的自定义扩展、JSON 结构化日志输出、日志轮转策略、OpenTelemetry trace 与 metric 的 SDK 集成、Prometheus Pull 模型端点实现,以及 gauge/counter/histogram 指标类型的工程实践,帮助开发者构建完整的 Zig 服务可观测体系。
Erlang/Elixir 可观测性:日志系统(Logger 配置/处理器/格式化/结构化日志)、Telemetry 事件与指标(attach/detach/execute/计数器/直方图/最后值)、分布式追踪(OpenTelemetry/Span 上下文传播)、Observer/CLI 诊断工具(observer_cli/recon/vmstats)、监控告警(Prometheus/Grafana 集成)、BEAM VM 内部指标(reductions/内存/进程/ETS)、日志聚合与 ELK/Loki 集成、可观测性最佳实践。
PHP 可观测性实战:日志系统选型(Monolog 处理器/格式化/上下文)、结构化日志(JSON/ECS)、分布式链路追踪(OpenTelemetry/OpenTracing)、APM 工具集成(Laravel Telescope/New Relic/Datadog/Blackfire)、自定义指标与性能埋点、日志聚合(ELK/Loki)、健康检查与告警、可观测性三支柱(Metrics/Logs/Traces)的工程落地。
Flutter 生产级错误处理全解:Dart 异常体系与 try/catch/async 错误捕获、Flutter 全局错误捕获(FlutterError.onError/runZonedGuarded)与未捕获异常兜底、错误上报与崩溃分析(Crashlytics/Sentry)、超时重试与指数退避、网络断线降级与离线容错、用户可感知的错误提示与重试、以及可观测性(日志/链路/性能监控)与可靠性测试。
系统覆盖 Scala 服务的可观测性三支柱:结构化日志(SLF4J/Logback、JSON 日志、字段规范)、链路追踪(OpenTelemetry、trace/span 上下文、跨服务传播)、指标(Micrometer/Prometheus、业务指标与资源指标)、可观测性与 Effect/Fiber 的集成(追踪上下文贯穿异步)、以及日志与追踪的工程实践(采样、脱敏、告警联动),帮助读者把「看日志猜问题」升级为「三支柱协同定位」。
系统覆盖日志处理的工程全景:日志格式设计(文本 vs 结构化、字段约定)、解析器构建(正则/流式/多行拼接)、日志管道(采集/清洗/聚合/路由)、采样与脱敏、日志轮转与保留、以及可观测性场景下日志解析的常见陷阱与性能优化。
系统讲解现代应用可观测性体系:日志、指标与链路追踪(三支柱)、结构化日志与上下文注入、OpenTelemetry 集成、边缘函数与 Serverless 的可观测性挑战(日志聚合/冷启动/分布式追踪)、错误追踪与 Sourcemap 还原、告警规则与 SLO、以及可观测性闭环与成本控制。
Linux 日志管理实战:systemd journald 架构(二进制日志 vs syslog)、journalctl 查询技巧、日志持久化与存储上限、轮转策略、远程日志收集、与日志分析系统集成。
Docker 容器排障与调试完整实战:定位容器为什么不起来(退出码/启动失败/依赖)、进入容器调试(exec/nsenter/调试镜像)、OOM 与资源问题、镜像拉取与构建失败、日志与事件排查、网络与端口问题,以及一套可复用的排障路径与工具链。