后端日志管理

小记:
------为什么要写这篇关于后端日志管理?
目前AI编程确实很厉害,但是AI写的代码,我们如何纠错,如何定位问题也是一件头疼的事情。把项目部署的服务器上了,但是运行时候报错,找不到原因。太烦人了。

企业级项目里,日志一般要记什么?

一个设计良好的日志系统,核心是记录 "谁、什么时候、做了什么、结果如何" ,并为每个请求标记一个唯一ID,把分散的日志串成一条线

请求维度的「可串联」信息(排障第一优先级)

  • Request ID / Trace ID:全链路唯一,响应头带回给前端。
  • 用户/租户标识:在合规前提下记业务 user id、租户 id(注意脱敏与权限)。
  • 接口:方法 + 路径(或路由名),必要时含 query 摘要(避免把密钥、整段 body 打进日志)。
  • 结果:HTTP 状态码、业务错误码;耗时(latency)。
  • 上下游:调了哪个外部服务(向量库、LLM)、是否重试、超时设置。

业务与审计(合规、运营、安全)

  • 关键业务动作:创建/删除资源、支付、权限变更等(谁、何时、对什么对象、结果)。
  • 安全相关:登录失败次数、可疑 IP、鉴权失败(不要打明文 token/密码)。
  • 异步任务:task_id、队列名、阶段、成功/失败原因(与 HTTP 请求用同一 trace id 关联)。

错误与诊断

  • 异常:带 stack trace(logger.exception),且带上 request_id。
  • 降级与熔断:例如向量检索失败回退、限流触发,便于区分「正常慢」和「故障路径」。

环境与部署

  • 服务名、实例 id、版本/commit、环境(prod/staging),便于多副本、多版本混跑时定位。

体量与隐私

  • 采样(高 QPS 接口可只抽一部分打 DEBUG)。
  • 脱敏:手机号、证件、token、完整 prompt/文档内容往往不进日志或只打 hash/长度。

记日志的方法

方式 记什么 典型用途
Access log(访问日志) 每个 HTTP 请求一行:时间、IP、方法、URL、状态码、字节数、耗时 流量分析、404/5xx 统计、按路径查问题
应用结构化日志 JSON 一行一条:level, time, service, trace_id, msg, extra 用 ELK、Loki、Datadog 等检索、告警
中间件 / 过滤器 请求进入打「开始」、离开打「结束+耗时+状态」;统一注入 trace id 不用每个接口手写
OpenTelemetry(Tracing) Span:服务间调用树、耗时分解 微服务、外部依赖多时用
集中式日志平台 把各机/各容器的日志/agent 送到统一存储 搜索、仪表盘、告警
日志级别策略 prod 多为 INFO+,DEBUG 只在排障窗口打开 控成本、控磁盘与隐私风险
业务审计日志 与「调试日志」分开存储/保留周期 合规与运营报表

创建一个中间件。对于每个请求,它都会:

  • 生成/提取 RequestID:如果没有则生成一个 UUID 供全链路使用,这是串起所有日志的关键。

  • 自动记录请求信息:处理前记录下请求的方法、路径、客户端IP等。

  • 记录响应和耗时:处理后计算耗时,并记录响应状态码

相关推荐
Minner-Scrapy10 分钟前
Scrapy 2.17 源码解析:Scheduler 调度器与磁盘/内存双队列
java·爬虫·python·scrapy·网络爬虫·twisted
CODER030420 分钟前
Anaconda和Mamba创建环境管理包常用命令合集
python·深度学习·conda·虚拟环境·mamba·常用命令大全
闲猫32 分钟前
LangGraph / Capabilities / Fault tolerance
python·agent·langgraph
IvanCodes1 小时前
Python 基础语法(一):变量、数据类型与运算符
python
智购科技自动售卖机厂家1 小时前
2026自动售货机OTA升级系统设计:从全量升级到差分升级的带宽优化工程实践~YH
大数据·人工智能·numpy·pyqt·fastapi
程序员三藏2 小时前
浅谈性能测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试
l1258652 小时前
# RAG向量数据库优化实战:HNSW索引调参与生产级性能设计
数据库·python·mysql·langchain
meilindehuzi_a3 小时前
Python 基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
Zane19943 小时前
调用了 async 函数却没执行?一文讲透协程、event loop 与 await
后端·python
OPEN-F3 小时前
Python进阶教程:装饰器与生成器深入
开发语言·python