边缘开发者平台
  • Pages
    • 产品简介
    • 快速开始
      • 导入 Git 仓库
      • 从模板开始
      • 直接上传
    • 框架指南
      • 前端
      • 后端
      • 全栈
        • Next.js
    • 项目指南
      • 项目管理
      • edgeone.json
      • 缓存配置
      • 错误码
    • 构建指南
    • 部署指南
      • 概览
      • 触发部署
      • 管理部署
      • 部署按钮
      • 使用 Github Action
      • 使用 CNB 插件
      • 使用 IDE 插件
      • 使用 CodeBuddy IDE
    • 域名管理
      • 概览
      • 自定义域名
      • 配置 HTTPS 证书
      • 如何配置 DNS 的 CNAME 记录
    • Pages Functions
      • 概览
      • Edge Functions
      • Node Functions
    • 日志分析
    • KV 存储
    • 边缘 AI
    • API Token
    • EdgeOne CLI
    • Pages MCP
    • 集成指南
      • AI
        • 对话型大模型集成
        • 图片大模型集成
      • 数据库
        • Supabase 集成
        • Pages KV 集成
      • 电商
        • Shopify 集成
        • WooCommerce 集成
      • 支付
        • Stripe 集成
        • Paddle 集成
      • CMS
        • WordPress 集成
        • Contentful 集成
        • Sanity 集成
      • 身份验证
        • Supabase 集成
        • Clerk 集成
    • 最佳实践
      • 使用通用大模型快速搭建AI应用
      • 使用 Deepseek-R1 模型快速搭建对话型AI站点
      • 使用 WordPress + WooCommerce 和 GatsbyJS 搭建电商平台
      • 使用 Supabase 和 Stripe 搭建 SaaS 站点
      • 如何快速搭建公司品牌站点
      • 如何快速搭建博客站点
    • 迁移指南
      • 从 Vercel 迁移至 EdgeOne Pages
      • 从 Cloudflare Pages 迁移至 EdgeOne Pages
      • 从 Netlify 迁移至 EdgeOne Pages
    • 排障指南
    • 常见问题
    • 联系我们
    • 产品动态

日志分析

前置说明

说明:
EdgeOne Pages 目前支持查看 Node Functions 的日志详情,后续将逐步支持如 Edge Functions 等其他服务的日志。


Node Functions 日志

Pages 日志分析为您自动收集、存储、过滤和分析 Node Functions 发出的日志数据。您可以在控制台中查询每个函数请求的数据,自定义查找日志的时间范围,目前支持查看全部日志、调用成功、调用失败、调用超时的日志。


控制台检索日志

1. 登入到 Pages 控制台
2. 选择包含 Node Functions 的项目
3. 切换至“日志分析”
4. 通过状态,时间段,关键字来检索目标日志




查找函数日志

您可以查看函数调用的基本日志信息,通过日志快速发现并解决 API 调用中的异常或错误。


时间过滤

默认情况下,日志列表会显示最近 15 分钟相关请求的信息。您还可以筛选查看特定时间段的数据,包括过去 15 分钟、过去 1 小时、过去 6 小时、 过去 12 小时、过去 24 小时,或者选择自定义以输入 24 小时内特定的时间范围。


文本过滤

您可以使用简单的文本匹配来过滤日志内容,例如请求 ID、日志关键字。或者通过日志状态来筛选,目前可筛选的状态为:调用成功、调用失败、调用超时。


自定义日志

默认情况下,Node Functions 将发送包含有关请求、响应和相关元数据的详细信息的调用日志。您还可以在整个代码中添加自定义日志。console.log 中的所有内容都将显示在 Node Functions 日志中。

以下示例演示了 console.log 在请求处理程序中的自定义日志。
export const onRequestGet = async ({ request }) => {
const info = {
nodeVersion: process.version,
pid: process.pid,
platform: os.platform(),
arch: os.arch(),
cpus: os.cpus()?.length ?? 0,
totalMem: os.totalmem(),
freeMem: os.freemem(),
uptimeSec: process.uptime(),
randomUUID: randomUUID(),
now: new Date().toISOString(),
url: request.url,
}

console.log('=====info=====', info); // 自定义日志

return new Response(JSON.stringify(info), {
status: 200,
headers: { 'Content-Type': 'application/json; charset=UTF-8' },
})
}



日志结构说明

每一个函数请求的日志记录以平台日志标记请求开始、请求结束、请求错误信息、函数返回信息以及请求执行情况,用户日志封装在请求开始至请求结束之间。日志结构如下:
日志详情
日志类型
内容含义
START RequestId:09c346d3-8417-49c5-8569-xxxxxxxxxxxx
平台日志
标记请求开始。
init log
用户日志
用户在函数初始化阶段打印的日志内容,容器仅在冷启动场景下会执行初始化逻辑,非冷启动场景下无初始化日志输出。
Init Report RequestId: 09c346d3-8417-49c5-8569-xxxxxxxxxxxx Coldstart: 236ms (PullCode: 70ms InitRuntime: 8ms InitFunction: 158ms) Memory: 640MB MemUsage: 57.86MB
平台日志
初始化执行情况日志,Coldstart 为初始化阶段总耗时,其中 PullCode 为初始化阶段拉取用户函数和层代码耗时或拉取镜像耗时,InitRuntime 为初始化阶段平台耗时,InitFunction 为初始化阶段用户代码执行耗时,Memory 为函数配置内存,MemUsage 为初始化阶段运行内存。容器仅在冷启动场景下会执行初始化逻辑,非冷启动场景下无初始化日志输出。
invoke log
用户日志
用户在函数调用阶段打印的日志内容。
ERROR RequestId:09c346d3-8417-49c5-8569-xxxxxxxxxxxx Result:xxx
平台日志
函数错误原因,函数执行正常时无 ERROR 日志。
Response RequestId:09c346d3-8417-49c5-8569-xxxxxxxxxxxx RetMsg:"Hello World"
平台日志
函数返回信息记录在 RetMsg 中。
END RequestId:09c346d3-8417-49c5-8569-xxxxxxxxxxxx
平台日志
标记请求结束。
Report RequestId:09c346d3-8417-49c5-8569-c55033b17f51 Duration:1ms Memory:128MB MemUsage:29.734375MB
平台日志
函数调用执行情况日志,Duration 为函数执行耗时,Memory 为函数配置内存,MemUsage 为函数执行阶段运行内存。


日志保留与限制

平台默认仅保留 24 小时内的日志。
单个日志的最大限制为 5MB。超过该大小的日志将被截断,一般情况下为 message 字段被截断。