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

# Logging

> Track every action in your server with ZEON's comprehensive 16-channel logging engine.

ZEON's Logging system is a comprehensive audit trail that tracks **every meaningful event** happening in your server — from message edits and deletions, to voice state changes, role updates, moderation actions, and more.

The system supports **16 distinct log types**, each routed to its own dedicated channel for clean, organized record-keeping.

<Note>
  **Required Permission:** [Server Owner](/permissions/hierarchy), [Extra Owners](/permissions/extra-owners), and [Admin Access](/permissions/admin-access) can manage logging. The **Wizard** and **Clear** commands require **[Server Owner](/permissions/hierarchy) or [Extra Owner](/permissions/extra-owners)**.
</Note>

***

## Absolute Setup Guide

The fastest way to get full server logging is the **Logging Wizard**. One command, and ZEON handles everything.

<Steps>
  <Step title="Run the Wizard">
    ```bash theme={null}
    .logging wizard
    ```

    The bot will automatically:

    * Create a private `💬│Server Logs` category (hidden from `@everyone`).
    * Create **16 dedicated text channels** inside that category, one for each log type.
    * Configure every channel for high-performance log delivery.
    * Send a test log message to each channel to confirm connectivity.
    * Enable the logging system globally.
  </Step>

  <Step title="Verify the Setup">
    ```bash theme={null}
    .logging config
    ```

    This displays a full dashboard showing every log type, its assigned channel, and the current ignore/filter settings.
  </Step>

  <Step title="(Optional) Fine-Tune Ignores">
    If you want certain users, roles, or embed-only messages to be excluded from logs, configure the ignore system (see below).
  </Step>
</Steps>

<Warning>
  The Wizard has a **30-second cooldown** per server to prevent accidental double-runs. If a setup is already in progress, the bot will block additional attempts until it finishes.
</Warning>

***

## All 16 Log Types

Every event in your server is categorized into one of the following log channels:

| #  | Log Type      | Channel Name        | What It Tracks                                            |
| :- | :------------ | :------------------ | :-------------------------------------------------------- |
| 1  | `system`      | 💻 system logs      | Bot commands executed (prefix & slash)                    |
| 2  | `join`        | ➕ join logs         | Members joining the server                                |
| 3  | `leave`       | ➖ leave logs        | Members leaving the server                                |
| 4  | `member`      | 👤 member logs      | Nickname changes, role additions/removals, avatar updates |
| 5  | `message`     | 💬 message logs     | Message edits, deletions, bulk deletes                    |
| 6  | `thread`      | 🧵 thread logs      | Thread creation, archival, deletion                       |
| 7  | `voice`       | 🔊 voice logs       | Voice channel joins, leaves, moves, mutes, deafens        |
| 8  | `stage`       | 🎤 stage logs       | Stage instance creation and updates                       |
| 9  | `moderation`  | 🔨 moderation logs  | Bans, kicks, timeouts, warns                              |
| 10 | `channel`     | 📩 channel logs     | Channel creation, deletion, permission overwrites         |
| 11 | `server`      | 🌐 server logs      | Server name, icon, region, vanity URL changes             |
| 12 | `schedule`    | 📅 event logs       | Scheduled event creation, updates, cancellation           |
| 13 | `webhook`     | 🔗 webhook logs     | Webhook creation, deletion, updates                       |
| 14 | `role`        | ⚙️ role logs        | Role creation, deletion, permission changes               |
| 15 | `application` | 🤖 application logs | Bot/application additions and removals                    |
| 16 | `alert`       | ⚠️ alert logs       | Critical security alerts and warnings                     |

***

## Manual Channel Assignment

If you prefer to route specific log types to your own pre-existing channels instead of using the Wizard, use the slash command:

```
/logging setup channel type:<Log Type> channel:#your-channel
```

<Warning>
  The manual channel assignment command **must be used as a slash command** (`/logging setup channel`). It does not work with the prefix-based syntax.
</Warning>

This will:

* Assign the chosen log type to your specified channel.
* Apply secure permission overwrites (hide from `@everyone`, allow bot access).
* Send a test log message to confirm delivery.
* Automatically enable logging if it was previously disabled.

***

## Core Commands

### Enable / Disable

| Command            | Description                                     |
| :----------------- | :---------------------------------------------- |
| `.logging enable`  | Turns on the logging engine globally            |
| `.logging disable` | Turns off the logging engine (preserves config) |

### Setup Commands

| Command                  | Description                                                         |
| :----------------------- | :------------------------------------------------------------------ |
| `.logging wizard`        | One-click automatic setup (creates category + 16 channels)          |
| `.logging setup auto`    | Alias for the Wizard                                                |
| `/logging setup channel` | Manually assign a specific log type to a channel (slash only)       |
| `.logging setup clear`   | **Deletes** all logging channels and wipes the entire configuration |

### View Configuration

| Command           | Description                                                   |
| :---------------- | :------------------------------------------------------------ |
| `.logging config` | Displays the full logging dashboard with all channel mappings |
| `.logging show`   | Alias for `.logging config`                                   |

### Remove Specific Log Types

```
/logging remove type:<Log Type>
```

You can remove a single log type or select **All Logs** to disable every channel mapping at once. This command **must be used as a slash command**.

***

## Ignore System

The Ignore system lets you exclude specific users, roles, embeds, or voice events from being logged.

### Ignore Users & Roles

| Command                        | Description                                      |
| :----------------------------- | :----------------------------------------------- |
| `.logging ignore add @user`    | Excludes a user from all log events              |
| `.logging ignore add @role`    | Excludes all members with a role from log events |
| `.logging ignore remove @user` | Re-includes a previously ignored user            |
| `.logging ignore remove @role` | Re-includes a previously ignored role            |

### Ignore Embeds

Toggle whether embed-only messages (messages with no text content, only embeds) are tracked in message logs.

| Command                         | Description                                   |
| :------------------------------ | :-------------------------------------------- |
| `.logging ignore embed enable`  | Ignores embed-only messages from message logs |
| `.logging ignore embed disable` | Logs all messages, including embed-only ones  |

<Tip>
  **Embed ignoring is enabled by default.** This prevents bot embeds and webhook messages from flooding your message logs with unnecessary noise.
</Tip>

### Ignore Voice

Toggle whether ignored users/roles are also excluded from voice state change logs.

| Command                         | Description                                              |
| :------------------------------ | :------------------------------------------------------- |
| `.logging ignore voice enable`  | Ignored users/roles are also excluded from voice logs    |
| `.logging ignore voice disable` | Voice events are logged for everyone, even ignored users |
