> ## Documentation Index
> Fetch the complete documentation index at: https://bunnynet-cb9733c2-support-migration.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Permanent Log Storage

> Permanent Log Storage allows you to permanently store access logs inside of an Edge Storage zone. Parts are uploaded when they are closed (by size, time, or at midnight UTC). These logs are not searchable through our web interface.

The stored log files are compressed using **GZip** and must be decompressed before opening.

**Part rotation:** Logs are written into part files that are closed and uploaded when any of the following occurs:

* The part reaches **2 GB** in size, or
* The part reaches **5,000,000 lines**, or
* **120 minutes** (2 hours) have passed since the part was opened, or
* The part has had **no writes for 1 hour**, or
* **Midnight UTC** (the current part is closed and a new day starts).

So multiple parts per day are possible, and each part is uploaded shortly after it is closed. The first part of each UTC day has index `0`; subsequent parts that day use index `1`, `2`, and so on. Each filename includes a unique **random suffix** (8 hex characters) so every part is distinct in storage and uploads never overwrite each other.

Because the pipeline can run on multiple log processing worker nodes, each worker writes and uploads its own parts. The filename includes a **worker ID** (server ID) so you can tell which log processing worker produced which file.

The logs are stored in the selected Edge Storage zone under the following path format:

```bash theme={null}
pullzone-logs/<pullzone-name>/<YYYY>/<MM>/<dd>_<workerId>-<part-index>-<rand>.gzip
```

* `<pullzone-name>` — The pull zone's bucket name (storage location).
* `<YYYY>/<MM>/<dd>` — UTC date of the log data.
* `<workerId>` — ID of the log processing worker node (server) that wrote the file.
* `<part-index>` — Zero-based index for that worker on that day (0, 1, 2, …).
* `<rand>` — 8-character hex suffix that uniquely identifies the part file and ensures uploads never overwrite each other in storage.

**Example:** `pullzone-logs/myzone/2026/03/07_100-0-a1b2c3d4.gzip` is the first part for March 7, 2026 from worker 100.

<Warning>
  The Pull Zone logs are stored in the Edge Storage which might be exposed to the world through any connected Pull Zone. We strongly recommend using a separate Edge Storage zone to keep the log files to prevent any unauthorized access.
</Warning>

<Danger>
  Please note: We aim to store all logs, but cannot guarantee complete logs due to transient network issues. For precise reporting, use the CDN Logging API or Statistics API.
</Danger>

# How to configure Permanent Log Storage?

To enable Permanent Log Storage you can follow the following steps:

1. Visit your **Pull Zone** details page
2. Open the **Security** panel in the left-side menu
3. Open the **Logging** panel inside of the Security panel
4. Make sure that the **Enable Logging** feature is enabled
5. Enable the **Enable Permanent Storage** feature
6. Select the desired Edge Storage zone that will contain your log files
7. Click on the **Save Storage Configuration** button
8. Check the Storage Zone the next day to find your log files
