news 2026/8/2 4:48:43

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再靠猜了:给 Cloudflare Worker 加上日志,问题一眼就知道

📝本文首发于 栏轩·阁

欢迎访问阅读原文,获取更好的阅读体验。


什么是 Workers Logs

Workers Logs 是 Cloudflare 为 Workers 提供的内置日志服务。你在代码里写console.log,输出会自动采集到 Cloudflare 仪表盘,无需额外配置日志服务器。

支持console.logconsole.warnconsole.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 平台)。

常用 API

Workers Logs 提供三个 API 接口,可用于程序化查询日志,适合自动化巡检或集成到自己的后台。

Base URL:

https://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 接口可以在需要时用于程序化查询日志
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/2 4:44:41

STM32+ESP8266物联网时钟:NTP校时、语音播报与模块化开发实践

1. 项目概述与核心价值最近在整理工作室的旧项目&#xff0c;翻出了一个几年前做的智能时钟&#xff0c;功能挺全&#xff1a;能通过Wi-Fi自动从网络对时&#xff0c;还能在整点用语音播报时间&#xff0c;时间显示亮度可以自己调节。当时用的是STM32做主控&#xff0c;ESP8266…

作者头像 李华
网站建设 2026/8/2 4:40:12

从GLM-5.3社区呼声看视觉语言模型(VLM)的核心需求与技术挑战

1. 项目概述&#xff1a;一场关于AI模型进化的全民共创最近&#xff0c;AI圈子里发生了一件挺有意思的事儿。智谱AI的CEO唐杰教授在社交媒体上发起了一个公开讨论&#xff0c;主题是“GLM-5.3你来定&#xff01;”。简单来说&#xff0c;就是智谱准备启动下一代大语言模型GLM-5…

作者头像 李华
网站建设 2026/8/2 4:35:38

洛谷P5662纪念品一题 的题解

由于此题是CSP-J考场上的一道题&#xff0c;我们不妨先假设自己是一名菜鸟考生&#xff0c;用一些比较新鲜的角度去做题。 正文 考试时会先干嘛呢&#xff1f;那一定是去看数据范围。CSP比GESP好的点就在于它不会让你输得太难看&#xff0c;总有几分是你水得到的。显然这里有10…

作者头像 李华
网站建设 2026/8/2 4:35:29

基于Arduino与GSM模块的复古电话DIY:硬件复现与通信实践

1. 项目缘起&#xff1a;当复古情怀遇上开源硬件 不知道你有没有过这样的感觉&#xff1a;现在的手机功能是越来越强&#xff0c;但拿在手里总觉得少了点什么。那种沉甸甸的金属质感&#xff0c;拨号时清脆的“咔哒”声&#xff0c;还有通话时那种纯粹的、不被各种通知打断的专…

作者头像 李华
网站建设 2026/8/2 4:35:12

为什么我只用国产模型:一套多 Agent 协作方案,4 分钱一次

一、单模型的瓶颈用了大半年 AI 写代码&#xff0c;我发现一个反复出现的问题&#xff1a;单个模型写的代码&#xff0c;我不敢直接用。不是代码不能用&#xff0c;而是——没有第二个人帮我看一眼。人类团队里&#xff0c;写完代码要 review&#xff0c;review 完要测试&#…

作者头像 李华
网站建设 2026/8/2 4:34:49

Unity XR凝视交互开发:从射线检测到多平台适配

1. 项目概述&#xff1a;AR/VR交互的核心——凝视与点击在AR和VR开发里&#xff0c;交互是连接虚拟世界与用户的桥梁。传统的键鼠操作在这里完全失效&#xff0c;开发者必须重新思考用户如何与虚拟内容“对话”。其中&#xff0c;凝视交互因其高度的沉浸感和符合直觉的特性&…

作者头像 李华