Jan 08, 2026
Why logs matter in AEM as a Cloud Service
Logs are the fastest way to understand runtime behavior across author, publish, and dispatcher services. With AIO CLI, engineers can securely stream or download logs from Cloud Manager environments without shell access to containers, enabling quick triage, performance insights, and post-incident analysis.
Prerequisites
-
Access to Adobe Cloud Manager within your organization
-
Node.js (LTS) and npm installed locally
-
Git installed
-
Membership in appropriate Adobe Admin Console product profiles/roles (see Required permissions section)
Step 1 — Install Adobe I/O CLI locally
-
Ensure Node.js is installed:
-
Run:
node --version -
If not installed, download from nodejs.org
-
-
Install Adobe I/O CLI globally:
-
Run:
npm install -g @adobe/aio-cli
-
-
Verify installation:
-
Run:
aio --version
-
Use your OS package manager or Node Version Manager (nvm) to install or switch Node.js versions if needed.
Step 2 — Add the Cloud Manager plugin
Install the plugin that exposes Cloud Manager commands:
| aio plugins:install @adobe/aio-cli-plugin-cloudmanager |
Step 3 — Authenticate the CLI
-
Sign in to Adobe Developer Console and ensure you’re acting in the organization that has Cloud Manager.
-
Open an existing IO Project or create a new IO Integration Project using “Empty Project” (do not use a template) and add the Cloud Manager API with an OAuth Server-to-Server credential.
-
Grant the credential a product profile that includes Cloud Manager access (see Required permissions).
-
Download the JSON credentials file:
-
Open OAuth Server-to-Server

-
Click Download JSON

-
-
JSON keys are expected by the plugin in lowercase, so rename all keys in the JSON to lowercase (e.g., CLIENT_ID → client_id).
-
Load the credential into the AIO CLI context:
aio config:set ims.contexts.aio-cli-plugin-cloudmanager /path/to/credentials.json --file --json
Keep credentials secure. Do not commit credentials to source control. Rotate credentials according to your security policy.
Step 4 — Create or confirm your Cloud Manager Project
-
In Cloud Manager, ensure that your Program exists and includes the required environments (author, publish, dispatcher) or set them as needed.
-
Capture Program ID and Environment IDs; you’ll use them in CLI commands.
Step 5 — Access logs with AIO CLI
-
List programs:
aio cloudmanager:list-programs -
Optionally set a default Program ID:
aio config:set cloudmanager_programid -
List environments for a program:
aio cloudmanager:list-environmentsExample output:
Environment ID Name Type Description 1000 myprogram-rde rde RDE Environment 1001 myprogram-dev dev Dev Environment 1002 myprogram-qa qa QA Environment 1003 myprogram-stage stage Stage Environment 1004 myprogram-prod prod Prod Environment -
Discover available log types for an environment:
aio cloudmanager:list-available-log-optionsExample:
aio cloudmanager:list-available-log-options 1001Environment ID Service Name 1001 preview_dispatcher httpdaccess 1001 preview_dispatcher httperror 1001 preview_dispatcher aemdispatcher 1001 author aemaccess 1001 author aemerror 1001 author aemrequest 1001 author cdn 1001 publish aemaccess 1001 publish aemerror 1001 publish aemrequest 1001 publish cdn 1001 preview_publish aemaccess 1001 preview_publish aemerror 1001 preview_publish aemrequest 1001 preview_publish cdn 1001 dispatcher httpdaccess 1001 dispatcher httperror 1001 dispatcher aemdispatcher -
Tail logs in real time (service can be author, publish, or dispatcher):
aio cloudmanager:tail-logsExample:
aio cloudmanager:tail-logs 1001 author aemerror -
Download logs for offline analysis (DAYS is how many days back to fetch, per availability):
aio cloudmanager:download-logsExample:
aio cloudmanager:download-logs 1001 author aemerror 2
Required permissions
Your Adobe Admin Console setup must provide the following access to the identity used by AIO CLI:
-
Cloud Manager product profile access for your organization
-
A role that grants API-powered environment and log access (for example, Deployment Manager - Cloud Service, or equivalent role that allows log retrieval)
-
Access to the target Program and Environments (author/publish/dispatcher)
If your organization uses fine-grained product profiles, ask an admin to verify that the Cloud Manager API is enabled for your profile and that your credential is assigned to that profile.
Troubleshooting common issues
-
CLI not found: Ensure Node.js/npm are installed, and your shell PATH includes the global npm bin. Reinstall with
npm install -g @adobe/aio-cliand reopen your terminal. -
Authentication failures: Validate that your downloaded JSON matches the expected format and that you loaded it using
aio config:set ... --file --json. Confirm your org, project, and workspace in Developer Console correspond to the Cloud Manager org. -
Insufficient permissions: Ask an admin to add your user to the correct Cloud Manager product profile/role that allows program and environment access, including logs.
-
Error: [cloudmanagercli:no_cm_orgs] No Cloud Manager authorized organizations found:
-
Log out of the AIO CLI by running
aio auth logout. -
Log back in using aio
auth login -fto force a fresh authentication and allow you to select the correct profile/organization.
-
-
Error: [cloudmanagersdk:error_list_programs] Cannot retrieve programs: https://cloudmanager.adobe.io/api/programs (403 Forbidden)
-
Same steps as with Authentication failures and [cloudmanagercli:no_cm_orgs]
-
-
No logs returned: Verify the Environment ID and service name. Confirm the environment is running and log option names via
aio cloudmanager:list-available-log-options. -
Rate limits or throttling: Retry after a short interval. For sustained usage, prefer downloads over real-time tailing.
Conclusion
Accessing AEM as a Cloud Service logs via the Adobe I/O CLI empowers teams to quickly diagnose issues, monitor environments, and maintain operational excellence without direct server access. By following the steps and troubleshooting tips in this guide, you can streamline your debugging workflow and ensure compliance with Adobe’s security model. For further learning, refer to the referenced documentation or contact your Cloud Manager administrator for assistance with advanced scenarios.
Related Insights
-
BLOG
Jonathan Saurez
Updating HTML Tag Attributes Using a Rewriter Transformer in AEM
-
BLOG
Esteban Bustamante
Implementing Custom UI Testing for Greater Stability in AEM
-
BLOG
Esteban Bustamante
Uploading Assets to AEMaaCS Using "AEM Upload" Library
-
BLOG
Jonathan Saurez
Unit Testing Using AEM Mocks
Detecting Code Flaws Before They Cause Outages for Your Users
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.