ZuploZuplo
LoginStart for Free
  • Documentation
  • API Reference
Introduction
Getting Started
    Develop using the Portal
      1 - Setup Your Gateway2 - Rate Limiting3 - API Key Auth4 - Deploy5 - Dynamic Rate LimitingMCP - Quick start
    Develop Locally
      1 - Setup Your Gateway2 - Rate Limiting3 - API Key Auth
Concepts
Development
Policies
Handlers
API Keys
MCP Server
MCP Gateway
AI Gateway
Developer Portal
Monetization
Deploying & Source Control
Observability
    Logging
      OverviewGoogle Cloud LoggingLoki LoggingVMware Log InsightAWS CloudWatch LoggingDatadog LoggingDynatrace LoggingNew Relic LoggingSplunk LoggingSumoLogic Logging
    Data & Security
    Metrics PluginsOpenTelemetryProactive monitoring
    Guides
Networking & Infrastructure
Account Management
Programming API
Build with AI
Zuplo CLI
Migration Guides
Platform LimitsSecuritySupportTrust & ComplianceChangelog
powered by Zudoku
Logging

AWS CloudWatch Plugin

The AWS CloudWatch Log plugin enables pushing logs to AWS CloudWatch.

Enterprise Feature

Custom logging is available as an add-on as part of an enterprise plan. If you would like to purchase this feature, please contact us at sales@zuplo.com or reach out to your account manager.

Most enterprise features can be used in a trial mode for a limited time. Feel free to use enterprise features for development and testing purposes.

Setup

To add the AWS CloudWatch logging plugin to your Zuplo project, add the following code to your zuplo.runtime.ts file.

modules/zuplo.runtime.ts
import { RuntimeExtensions, AWSLoggingPlugin, environment, } from "@zuplo/runtime"; export function runtimeInit(runtime: RuntimeExtensions) { runtime.addPlugin( new AWSLoggingPlugin({ region: environment.AWS_REGION, accessKeyId: environment.AWS_ACCESS_KEY_ID, secretAccessKey: environment.AWS_SECRET_ACCESS_KEY, logGroupName: "/aws/zuplo/api", logStreamName: "production", }), ); }

Configuration Options

The AWSLoggingPlugin constructor accepts an options object with the following properties:

  • region - (required) AWS region where your CloudWatch logs are stored (for example, "us-east-1")
  • accessKeyId - (required) AWS access key ID for authentication
  • secretAccessKey - (required) AWS secret access key for authentication
  • logGroupName - (required) CloudWatch log group name
  • logStreamName - (required) CloudWatch log stream name
  • fields - (optional) Custom fields to include in each log entry. Can contain string, number, or boolean values

Custom Fields

Any custom fields you want to include in the log entry can be added to the fields property. These values will be appended to every log entry.

Code
new AWSLoggingPlugin({ region: environment.AWS_REGION, accessKeyId: environment.AWS_ACCESS_KEY_ID, secretAccessKey: environment.AWS_SECRET_ACCESS_KEY, logGroupName: "/aws/zuplo/api", logStreamName: "production", fields: { field1: "value1", field2: "value2", }, });

Default Fields

Every log entry will include the following fields (in camelCase format):

  • timestamp - The time the log was created (ISO 8601 format)
  • severity - The log level (for example, ERROR, INFO, DEBUG, WARN)
  • data - The log message and any additional data
  • environmentType - Where the Zuplo API is running. Values are edge, working-copy, or local
  • environmentStage - The deployment stage: working-copy, preview, or production
  • requestId - The UUID of the request (the value of the zp-rid header)
  • atomicCounter - An atomic counter used to order logs with identical timestamps
  • rayId - The network provider identifier (for example, Cloudflare Ray ID) of the request
Edit this page
Last modified on November 17, 2025
VMware Log InsightDatadog Logging
On this page
  • Setup
  • Configuration Options
    • Custom Fields
  • Default Fields
TypeScript
TypeScript