← Cloudflare Pages / pages / functions
Ladění a protokolování
Přistupujte k protokolům svých Functions pomocí Cloudflare dashboardu nebo Wrangler CLI.
Protokoly jsou výkonný nástroj pro ladění, který vám po nasazení Pages Functions pomůže otestovat a sledovat jejich chování. Jsou k dispozici pro každé nasazení vašeho projektu Pages.
Protokoly poskytují podrobné informace o událostech a pomohou vám lépe pochopit:
- Úspěšné nebo neúspěšné požadavky na vaše Functions.
- Nezachycené výjimky vyvolané vašimi funkcemi.
- Vlastní
console.logy deklarované ve vašich Functions. - Produkční problémy, které nelze snadno reprodukovat.
- Zobrazení příchozích požadavků do vaší aplikace v reálném čase.
Relaci protokolování lze spustit dvěma způsoby:
- Spustit
wrangler pages deployment tailv terminálu. - Použijte Cloudflare dashboard.
Přidejte vlastní protokoly
Vlastní protokoly jsou console.log() příkazy, které si můžete sami přidat do svých Functions. Při streamování logů pro nasazení obsahující tyto Functions se tyto příkazy zobrazí v obou wrangler pages deployment tail a výstupy dashboardu.
Níže je příklad vlastního console.log příkaz uvnitř Pages Function:
export async function onRequest(context) {
console.log(
`[LOGGING FROM /hello]: Request came from ${context.request.url}`,
);
return new Response("Hello, world!");
}Po nasazení výše uvedeného kódu spusťte wrangler pages deployment tail ve svém terminálu. Poté přejděte na cestu, na které se vaše funkce nachází. V terminálu se zobrazí:
Ve vašem dashboardu se zobrazí:
Zobrazení protokolů pomocí Wrangler
wrangler pages deployment tail umožňuje vývojářům sledovat protokoly pro konkrétní projekt a nasazení v reálném čase.
Pro začátek spusťte wrangler pages deployment tail v adresáři projektu Pages. Tím se v lokálním terminálu zaznamenají veškeré příchozí požadavky na vaši aplikaci.
Výstup každého wrangler pages deployment tail log je strukturovaný objekt JSON:
{
"outcome": "ok",
"scriptName": null,
"exceptions": [
{
"stack": " at src/routes/index.tsx17:4\n at new Promise (<anonymous>)\n",
"name": "Error",
"message": "An error has occurred",
"timestamp": 1668542036110
}
],
"logs": [],
"eventTimestamp": 1668542036104,
"event": {
"request": {
"url": "https://pages-fns.pages.dev",
"method": "GET",
"headers": {},
"cf": {}
},
"response": {
"status": 200
}
},
"id": 0
}wrangler pages deployment tail umožňuje přizpůsobit relaci protokolování vašim potřebám. Další informace najdete v wrangler pages deployment tail dokumentace pro dostupné možnosti konfigurace.
Zobrazení protokolů v Cloudflare Dashboard
Chcete-li zobrazit protokoly pro production nebo preview prostředí přiřazená libovolnému nasazení:
-
V dashboardu Cloudflare přejděte na Workers & Pages stránce.
Přejděte na Workers & Pages ↗ -
Vyberte projekt Pages, přejděte na nasazení, jehož logy chcete zobrazit, a vyberte Zobrazit podrobnosti > Funkce.
Protokolování je dostupné pro všechny zákazníky (Free, Paid, Enterprise).
Limity
Pro protokoly Functions platí tyto limity:
- Protokoly se neukládají. Přenos si kdykoli spustíte a zastavíte, abyste si je zobrazili, ale natrvalo se nezachovají.
- Protokoly se nezobrazí, pokud počet požadavků za sekundu u dané Function za posledních pět minut překročí 100.
- Protokoly z libovolného Durable Objects k nimž se vaše Functions připojují, se zobrazí v Cloudflare dashboardu.
- Protokoly nasazení může současně sledovat maximálně 10 klientů. Může jít o kombinaci relací dashboardu nebo
wrangler pages deployment tailvolání.
Sourcemaps
Pokud ladíte nezachycenou výjimku, může se stát, že výpisy trasování zásobníku ↗ ve vašich protokolech obsahovala čísla řádků vygenerovaných souborů JavaScript. Pomocí podpory Pages pro zdrojové mapy ↗ můžete získat stack trace, které odpovídají číslům řádků a symbolům vašeho původního zdrojového kódu.
Viz Zdrojové mapy a stack trace s podrobným vysvětlením.