---
title: Logging options
slug: cms-13/docs/logging-options
docTags: 
createdAt: 2026-07-30T20:22:06.928Z
---

Optimizely CMS 13 provides multiple logging options to help you troubleshoot errors, monitor performance, and debug application behavior.

The following options are available:

- Application logs
- Log streams
- Application Insights logs
- Edge logs

Go to [Work with BLOB storage containers](docId\:BDq-XixlZL29AoKYsm_nf) for additional log access through storage.

## Application logs

Application logs help diagnose runtime issues and track application behavior across environments.

Access application logs from the DXP Management Portal as a live stream or download them for offline analysis. Azure Web Apps in DXP environments have application logging enabled by default, with logs stored in BLOB storage for 90 days.

The provisioning process applies the logging configuration to environments. Change the configuration for the Integration environment directly. Contact Optimizely to change any of the following for Preproduction or Production environments:

- Web server log access
- Logging level (temporary)
- Detailed error messages (temporary)
- Failed request tracing (temporary)

For details on the data structure and Microsoft logging abstraction, go to [Log in .NET Core and ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-5.0).

## Log stream

View real-time log output to troubleshoot deployment errors without downloading log files. This option is included in your DXP subscription.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/q1oG2LWLRW97jhuScQ-Rd_089bf2a4dd3812365910a9257604ee1980cba2bf95084a5aba5e930fcb704613-log-1.png)

Click **Open Log Stream Window** to open the log stream. Connect Optimizely logs to monitor the live stream from site instances.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/4dnnsUDSvB_zCx9UEOip_-20260722-203654.png)

Click **Pause** or **Resume** to stop or continue the log stream. Click **Clear** to remove recent log output.

Go to [Troubleshoot DXP](docId\:sHz_NhPqe-m31fFySMtBy) for additional troubleshooting tools.

## Application Insights logs

Application Insights logs let you manage application performance and monitor web apps. Go to [Create an Optimizely Cloud Account](docId\:X-MjgQs-93BregnBOiaQI) to request access to Application Insights for your environment.

The `ILogger` logs to Application Insights automatically. By default, the system captures warning-level logs and above. Override the logging configuration for the `ApplicationInsights` provider to change this behavior. The following configuration captures information-level logs and above:

```json
{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    },
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "Information"
      }
    }
  }
}
```

For details on the log structure and configuration, go to [Application Insights for ASP.NET Core applications](https://learn.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core).

## Stream edge logs with CDN

:::hint{type="info"}
**Beta**
This feature is in beta. [Register interest for betas](https://www.optimizely.com/beta-signup/) to request access. Optimizely reaches out by email to enable the feature.
:::

Stream CDN logs to an Azure storage account and retrieve them through SAS URIs. Use edge logs to debug issues, identify configuration improvements, and create custom analytics.

### Get the edge log location

Retrieve the edge log storage location by calling the following endpoint, where `projectId` is a GUID:

```http
GET /api/v1.0/projects/{projectId}/edgelogs/location
```

The response returns the storage location:

```json
{
  "application/json": {
    "success": true,
    "errors": [],
    "result": {
      "location": "https://episite.blob.core.windows.net/location"
    }
  }
}
```

### Use the EpiCloud PowerShell module

The [EpiCloud PowerShell module](https://www.powershellgallery.com/packages/EpiCloud/1.7.0) provides `Get-EpiEdgeLogLocation` cmdlets for edge log operations through PowerShell. Go to [Deploy using PowerShell](docId\:gdAi6HCsKQ6a79_xuvErE) for installation and authentication setup.

`Get-EpiEdgeLogLocation` creates a read-only SAS link to the edge logs that expires after one day:

```powershell
# Fetch edge logs location based on projectId
Get-EpiEdgeLogLocation -ProjectId "ac138482-0a55-420a-ab4a-b1a700206a64"
https://sitrcmsli879s2af.blob.core.windows.net/cloudflarelogpush?sv=2023-01-03&st=2024-07-09T06:21:45Z&se=2024-07-10T06:26:45Z&sr=c&sp=rl&sig=r2NBPDR%2FTTEta4ggqLVGDOKayYupdLIFfgjXdpsKn%2FA%3D
```

### Configure API credentials

Use `Get-EpiEdgeLogLocation` from the `EpiCloud` module, or make an API call with a client key and client secret. Generate credentials through the self-service feature in the DXP Management Portal and link them with the edge logs permission.

1. Go to **Deployments > Deployment API Credential** to view current credentials.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/sAJ305OC_CP_VtjHWwHIB_23103c5b2fe8e9940c18fbb76cd182dc9d4c050f9700d332f2ac037e71e6ba32-log-3.png)

2. Click **Add API credentials**.
3. Enter a name for the credential.
4. Select the **Edge logs** permission.
5. Click **Save**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/DXU6Ldetk-FA_jlwprxrt_be46dbbaac755c323c60a8604add634315e74a632c1fa60803390e851c4750d0-log-4.png)

The credentials list displays the API key and secret. The API secret displays only once and is no longer visible after you refresh the page.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/7MtwpLinsU2G5mZ9udoQj_b65107d24b68ac1a5aed4841961d9d75aae4781abdae52713c28e1a5f755d778-log-5.png)

### Download logs from the SAS link

Download edge logs from the `cloudflarelogpush` BLOB container using Microsoft Azure Storage Explorer.

1. Open Microsoft Azure Storage Explorer and click **Connect to Azure resources**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/CweqWkX51Tz25elEDhGAI_fdfa1cf9d2830fc0d1b3a4b81349f6016b9ac65e4ba4a0b6d8b176e5bc1bb1fc-log-6.png)

2. Select **Blob container or directory**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Zf9OAiPCO8aJ4p63B-jHI_31b4ed433697f62ca053fde5cc9c9f82f62bd5af9b243b64f93ef9634cc2887a-log-7.png)

3. Select **Shared access signature URL (SAS)**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/JuBg-3nP8Sufi3j9412FX_4dd5f78a892b0660e83baad1115fd4aaab5ea6bccdc9c5339e80fb78acaca300-log-8.png)

4. Enter the connection information, then click **Connect**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/kH0P716FEd-hNmTQGgXGG_25a4e3c3b2ab02a3c4fd2882950fade2bbf328f28d044974b459106520a78703-log-9.png)

5. Open **BLOB Containers** in **Explorer** and select the BLOB container.
6. Select the log file and click **Download**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/t7klIefTBWFddfZsQ4bYm_2d069fc47bb466040a70ceb22a7d26523c4f7bb7fce2950f23f3681619336203-log-10.png)

:::hint{type="info"}
**Note**
These logs contain personally identifiable information (PII) in the form of IP addresses.
:::

For details on the data structure, go to [Log fields](https://developers.cloudflare.com/logs/reference/log-fields/).

## General logging FAQs

The following questions address common concerns about edge log integration, retention, and support.

- **Can I integrate with my own SIEM or push logs to external systems that Cloudflare or Azure integrates with, such as Splunk?**
  Create custom integrations to send logs programmatically from the container to other destinations. The log retention period is seven days. The export does not support field selection, but a custom integration can filter fields.
- **What is the maximum retention setting for the SAS link?**
  168 hours (seven days).
- **What is the log retention period?**
  Seven days. Export and save logs programmatically to retain them longer.
- **For various log options, what is the Optimizely responsibility?**
  For questions about log access, setup, or troubleshooting, contact Optimizely Support. Optimizely does not control log structure, formatting, or fields included in the logs.
