Request lines carry the cache state (
proxy.vercelCache: HIT, MISS, STALE, PRERENDER, …), the path type (proxy.pathType), the edge region (proxy.region) and the status code. Firewall lines carry proxy.wafAction and the rule ID (proxy.wafRule).
Recommended method
Marketplace connector: its log drain carries all of these sources.Alternatives
- Drains you configure, for example one filtered to
firewallfor a security team.
Worth knowing
- The
firewallsource covers requests that your firewall rules deny or rate-limit (Vercel’s docs describe it as requests denied by firewall rules). Allowed requests appear only under their normal source. - Rate-limited requests are logged as
proxy.wafAction = 'deny'with the rate-limit rule’s ID, for examplerule_rate_limit_new_chats_…. In testing they reached the drain a few minutes after the request.

