别再靠猜了:给 Cloudflare Worker 加上日志,问题一眼就知道

📅 2026/8/2 4:48:47
别再靠猜了:给 Cloudflare Worker 加上日志,问题一眼就知道
本文首发于 栏轩·阁欢迎访问阅读原文获取更好的阅读体验。什么是 Workers LogsWorkers Logs 是 Cloudflare 为 Workers 提供的内置日志服务。你在代码里写console.log输出会自动采集到 Cloudflare 仪表盘无需额外配置日志服务器。支持console.log、console.warn、console.error用法和浏览器/Node.js 完全一致。免费额度套餐每日额度保留时长Free20 万条/天3 天Paid2000 万条/月 $0.6/百万条7 天个人项目完全够用。开启方式在wrangler.json中添加 observability 配置{observability:{enabled:true,head_sampling_rate:1}}enabled: 开启日志采集head_sampling_rate: 采样率1 表示 100% 请求都记录0.1 表示只记录 10%部署后日志自动生效。查看日志有两种方式1. Cloudflare 仪表盘登录 dash.cloudflare.com → Workers Pages → 选择你的 Worker →Logs标签。在这里可以看到所有console.log输出的消息和结构化字段。2. 命令行实时查看npx wranglertail只查看错误npx wranglertail--statuserror适合开发调试时实时观察日志输出。日志格式建议基本写法console.log(用户登录成功,{userId:123,role:admin});console.warn(API 返回空数据,{url:https://api.xxx.com/data,status:200});console.error(数据库查询失败,{error:Connection timeout});推荐规则第一个参数用字符串写描述让人一眼看懂第二个参数传 JSON 对象Dashboard 会自动提取为结构化字段支持筛选和排序JSON 键名用英文方便 Dashboard 识别console.log记正常流程console.warn记预期内的异常console.error记真正的错误在哪些位置打日志外部 API 调用请求 URL、返回状态码、数据条数缓存操作命中/未命中错误处理catch 块中记异常信息和上下文请求入口/出口请求参数、处理结果避免记录的内容API Token、密钥等敏感信息用户密码、邮箱等个人数据大块完整数据记录条数或摘要即可常见问题日志怎么删除Workers Logs不支持主动删除。免费计划保留 3 天3 天后自动过期。日志量太大怎么办调低采样率{observability:{enabled:true,head_sampling_rate:0.1}}这样只记录 10% 的请求。日志能导出吗付费计划支持 Logpush推送到 R2、S3、Datadog 等和 OTel Export导出到 Sentry、Honeycomb 等 APM 平台。常用 APIWorkers Logs 提供三个 API 接口可用于程序化查询日志适合自动化巡检或集成到自己的后台。Base URLhttps://api.cloudflare.com/client/v4/accounts/{account_id}/workers/observability/telemetry认证方式Authorization: Bearer API Token需要workers_observability:read权限。查询日志POST /query查询 Workers 日志数据支持按字段筛选和时间范围过滤。返回console.log输出的消息和结构化字段。示例请求体{limit:20,filters:[{key:module,type:eq,value:platform}]}查看可查询的字段POST /keys返回所有可用的日志字段名方便你构建筛选条件。查看字段的取值POST /values查看某个字段有哪些可能的取值比如查看module字段有哪些模块名。实际应用场景定时查询最近 N 分钟的console.error日志发现异常自动告警统计某个外部 API 的调用失败率在自己的管理后台嵌入日志面板替代 Cloudflare 仪表盘分析各模块的调用频率和错误分布总结Workers Logs 是 Cloudflare Workers 最实用的功能之一配置简单加一行配置就行免费额度对于个人项目完全够用。核心要点在代码中加console.log日志自动采集到 Dashboard推荐用console.log(中文描述, { key: value })的格式兼顾可读性和结构化筛选遇到接口异常时日志能帮你快速定位问题原因不用再手动 curl 猜三个 API 接口可以在需要时用于程序化查询日志