> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Migrate from log extensions to log streams or Auth0 Marketplace integrations.

# Migrate from Log Extensions

The following Auth0 Log Extensions are now deprecated and will be supported until the end of life (EOL) dates listed below. It is no longer possible to create new extensions from this list of deprecated Log Extensions. You can set up equivalent functionality using log event streams or integrations on the [Auth0 Marketplace](https://marketplace.auth0.com/)

The following will reach EOL in Private Cloud on **January 6, 2023**:

* Auth0 Authentication API Webhooks
* Auth0 <Tooltip tip="Management API: A product to allow customers to perform administrative tasks." cta="View Glossary" href="/docs/glossary?term=Management+API">Management API</Tooltip> Webhooks
* Logs to Cloudwatch
* Logs to Logentries
* Logs to Loggly
* Logs to Logstash
* Logs to Papertrail
* Logs to Splunk
* Logs to Sumo Logic

Reach EOL in Public Cloud on **May 2, 2023**:

* Auth0 Authentication API Webhooks
* Auth0 Management API Webhooks
* Logs to Cloudwatch
* Logs to Logentries
* Logs to Loggly
* Logs to Logstash
* Logs to Papertrail
* Logs to Splunk
* Logs to Sumo Logic
* Logs to Segment
* Logs to Mixpanel
* Logs to AppInsights
* Logs to Azure Blob Storage

As of the EOL dates listed, Auth0 will no longer support the installed log extensions from the list above. On this page, you'll find instructions for migrating from specific log extensions.

## Auth0 Authentication API Webhooks

Make sure your destination can handle an array of log objects.

1. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
2. Go to **Extensions** and select your **Auth0 Authentication API webhook** in the **Installed Extensions** tab.
3. Copy the **Webhook URL** and **Authorization Header** (if you have one).
4. Next, go to **Monitoring > Streams > New Event Stream**.
5. Select [**Custom Webhook**](/docs/customize/log-streams/custom-log-streams), enter a name, and click **Create**.
6. Configure your webhook.

   * For the **Payload URL**, enter the webhook URL you copied from the extension.
   * If you have one, set the **Authorization Token** to the Authorization Header you copied from the extension.
   * Set **Content Format** to JSON Array.
7. Click **Save**.
8. Go back to **Extensions > Installed Extensions** and disable your **Auth0 Authentication API webhooks** extension.

## Auth0 Management API Webhooks

Make sure your destination can handle an array of log objects.

1. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
2. Go to **Extensions** and select your **Auth0 Management API webhook** in the **Installed Extensions** tab.
3. Copy the **Webhook URL** and **Authorization Header** (if you have one).
4. Go to **Monitoring > Streams > New Event Stream**.
5. Select [**Custom Webhook**](/docs/customize/log-streams/custom-log-streams), enter a name, and click **Create**.
6. Configure your webhook.

   * For the **Payload URL**, enter the webhook URL you copied from the extension.
   * If you have one, set the **Authorization Token** to the Authorization Header you copied from the extension.
   * Set **Content Format** to JSON Array.
7. Click **Save**.
8. Go back to **Extensions > Installed Extensions** and disable your **Auth0 Management API webhooks** extension.

## CloudWatch

Set up the [Amazon EventBridge Integration](https://marketplace.auth0.com/integrations/amazon-log-streaming) available on the Auth0 Marketplace. Once the events are available on your event bus, [create rules](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-event-bus.html) to map those events to AWS CloudWatch. Make sure you disable your Auth0 Logs to CloudWatch extension:

1. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
2. Go to **Extensions > Installed Extensions**.
3. Disable the **Auth0 Logs to CloudWatch** extension.

## Loggly

1. [Login to your Loggly account](https://www.loggly.com/login/).
2. Open the **Logs** menu and select **Source Setup**.
3. Go to the **Customer Tokens** tab.
4. Copy your token.
5. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
6. Go to **Monitoring > Streams > New Event Stream**.
7. Select [**Custom Webhook**](/docs/customize/log-streams/custom-log-streams), enter a name and click **Create**.
8. Configure your webhook.

   * For the **Payload URL**, replace `LOGGLY_TOKEN` with the token you copied from your Loggly account: `https://logs-01.loggly.com/bulk/{LOGGLY_TOKEN}/tag/auth0-{TENANT_NAME}/`.
   * Leave **Authorization Token** blank.
   * Set the **Content Type** to `application/json`.
   * Set **Content Format** to JSON Lines.
9. Click **Save**.
10. Go to **Extensions > Installed Extensions** and disable your **Auth0 Logs to Loggly** extension.

## Logstash

1. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
2. Go to **Monitoring > Streams > New Event Stream**.
3. Select [**Custom Webhook**](/docs/customize/log-streams/custom-log-streams), enter a name, and click **Create**.
4. Configure your webhook.

   * For the **Payload URL**, enter the URL of your Logstash server.
   * Set the **Authorization Token** to `Basic <CREDENTIALS>`, replacing `CREDENTIALS` with the Base64 encoding of your Logstash user and password separated by a colon (`<USER:PASSWORD>`). You can find your Logstash HTTP credentials in your Logstash configuration file.
5. Click **Save**.
6. Go to **Extensions > Installed Extensions** and disable your **Auth0 Logs to Logstash** extension.

## Papertrail

1. Login to Papertrail.
2. Go to [Log Destinations](https://papertrailapp.com/account/destinations) then click [Create Log Destination](https://papertrailapp.com/destinations/new).
3. Provide a description and configure the destination settings.
4. In the **Accept Connections via ...** pane, select **Token**.
5. Click **Create**.
6. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
7. Go to **Monitoring > Streams > New Event Stream**.
8. Select [**Custom Webhook**](/docs/customize/log-streams/custom-log-streams), enter a name, and click **Create**.
9. Configure your webhook.

   * Set the **Payload URL** to `https://logs.collector.solarwinds.com/v1/logs`.
   * Set the **Authorization Token** to `Basic <CREDENTIALS>`, replacing `CREDENTIALS` with the Base64 encoding of the Papertrail token you got from Papertrail's destination settings.
   * Set **Content Format** to JSON Lines.
10. Click **Save**.
11. Go to **Extensions > Installed Extensions** and disable your **Auth0 Logs to Papertrail** extension.

## Splunk

Use the [Splunk Integration](https://marketplace.auth0.com/integrations/splunk-log-streaming) available on the Auth0 Marketplace. Make sure you disable your Auth0 Logs to Splunk extension:

1. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
2. Go to **Extensions > Installed Extensions**.
3. Disable the **Auth0 Logs to Splunk** extension.

## Sumo Logic

Use the [Sumo Logic Integration](https://marketplace.auth0.com/integrations/sumo-logic-log-streaming) available on the Auth0 Marketplace. Make sure you disable your Auth0 Logs to Sumo Logic extension:

1. [Login to your Auth0 Dashboard](https://manage.auth0.com/).
2. Go to **Extensions > Installed Extensions**.
3. Disable the **Auth0 Logs to Sumo Logic** extension.

## Logentries

Currently, there are no instructions for migrating from the Logs to Logentries extension to log streams.

## Segment

1. Login to your Auth0 dashboard
2. Within **Extensions > Installed Extensions**, find your Segment extension.
3. Take note of your **Write Key**, as you’ll need it for your new log stream to Segment.
4. Disable your Segment extension.
5. Take note of the UTC timestamp of the last log you have received in Segment. Knowing that timestamp will allow you to create your new stream while avoiding duplicate logs in Segment.
6. Go to **Monitoring > Log Streams**, and create a new Segment log stream. Enter your **Write Key** in the appropriate field and the timestamp you noted in the **Start From** section.
7. Create the stream

## Mixpanel

1. Login to your Mixpanel account, open your **Project Settings**. Take note of your **Project ID** and **Data Residency** (the region).
2. Mixpanel no longer recommends using your project token for importing events and recommends using the service account mechanism. Within the **Project Settings** page, select **Service Accounts**, and create a new service account with admin or owner permissions. Take note of the credentials.
3. Log in to your Auth0 dashboard.
4. In **Monitoring > Log Streams**, create a new Mixpanel stream. Enter the project id, region, service account credentials and create the stream.
5. Don’t forget to deactivate your old extension. Go to **Extensions > Installed Extensions** and disable the **Auth0 Logs to Mixpanel extension**.

## AppInsights

1. Set up an [Azure EventGrid Log Stream](https://marketplace.auth0.com/integrations/azure-log-streaming) or leverage your existing EventGrid stream.
2. Follow the [instructions posted by Azure](https://urldefense.com/v3/__https://learn.microsoft.com/en-us/azure/event-grid/auth0-log-stream-app-insights__;!!PwKahg!9T9C3qhBRgQQHChQkQqnmHDDnX99yWJ4W8F4rLVs6qrwwbnFCY3JcCfF486d1DLqRFEghVnJZ9gJnronDv0\$) to set a destination for the log events.
3. Logs may be transformed differently through Log Streaming. Please reference the deprecated [Log Extenstion code](https://github.com/auth0-extensions/auth0-logs-to-provider/blob/master/server/lib/senders/appinsights.js) for further details

Notable transformations done to the logs include:

* The appInsight client is overwritten:

  * Sets a custom time equivalent to the log time
  * OS and OS version to be equivalent to the log information
  * Device type tag to hold information on whether the log originated from a mobile source
  * IP address tag be equivalent to the log information
  * user id, account id, user agent and auth user id tags to be equivalent to the logs
* The record is cleaned up to delete the following properties if empty:

  * ip
  * user\_id
  * user\_name
  * connection
  * client\_name
  * description
* The record isMobile property is altered to contain either a yes or no string
* The record details property is altered to be a string
* The record details property is truncated to 8185 characters

## Azure Blob Storage

1. Set up an [Azure EventGrid Log Stream](https://marketplace.auth0.com/integrations/azure-log-streaming) or leverage your existing EventGrid stream.
2. Follow the [instructions posted by Azure](https://urldefense.com/v3/__https://learn.microsoft.com/en-us/azure/event-grid/auth0-log-stream-blob-storage__;!!PwKahg!9T9C3qhBRgQQHChQkQqnmHDDnX99yWJ4W8F4rLVs6qrwwbnFCY3JcCfF486d1DLqRFEghVnJZ9gJ5k9lKMM\$) to set a destination for the log events.
3. Logs may be transformed differently through Log Streaming. Please reference the deprecated [Log Extenstion code](https://github.com/auth0-extensions/auth0-logs-to-provider/blob/master/server/lib/senders/blobstorage.js) for further details

Notable transformations done to the logs include:

* The record `type_code` and `type` is adjusted. `Type` is the human-readable description of the `type_code`
* Record `os`, `os_version`, `device` and `device_version` is adjusted if the record contains `user_agent` information
