# Module Logs

https://docs.wisecp.com/fr/module-logs

Read the record of every call your modules make to an outside system, with exactly what was sent and what came back, so you can prove where a failure started.

## Opening the Screen

Open **Tools**, go to the action logs and choose **Module Logs**: `{admin}/tools/actions/module-log`

## What Is on the Screen

One row is one round trip: something left your installation, something came back. The strip above the table says who you are talking to and how recently.

- **Traffic line**: How many modules are recording and how long ago the last call was. Under it: the number of stored calls, how many landed in the last 24 hours, and the date of the oldest record.
- **Module type buttons**: One button per module family with its call count, such as **Servers**, **Registrars** or **Payment**, plus **Last 24 Hours**. Click one to narrow the list and click it again to clear it. On a small log they leave the list unchanged.
- **Recording**: The badge at the right of the strip. It reads **Not Recording** while logging is off, and no call is stored during that time.
- **The table**: Two columns: **Call** and **Date**. The call line names the module and the action it ran. Under it sit the module type, the size sent, the size received and the address that was contacted.
- **Row menu**: The button at the end of a row offers **Open Call**, **Filter by This Module** and **Filter by This Call**. The last two fill in the filters for you, and each one appears only where the row carries that name.
- **Download**: The trigger at the right end of the strip above the table, offering CSV, JSON and XML. The file holds the whole filtered list, not the page you are on. In it the module, type, call name, address, sizes and IP each get their own column.

## Fields

### Recording setting

- **Logging**: Behind the **Settings** button on the strip. Enable this feature to allow modules to keep activity logs. It saves the moment you change it, and the badge follows.

### Search and filters

The list above the table narrows to a single module and shows how many calls each one has. The search box matches the module, the call name or the IP address.

The **Advanced Filter** button opens four more boxes: **Call Name**, **IP Address**, **Date Range** and **Search Inside Payloads**. Closing the panel clears them, and it clears the module list and the buttons above the table as well. A button can keep its selected look afterwards even though the filter is gone. It then takes two clicks to apply it again.

Every filter here works once the log has grown past a few hundred calls. Below that the whole list is loaded at once and only the search box narrows it.

### Clear Logs dialog

- **Select Date**: Every call recorded up to the end of that day is deleted. Required, and there is no default.
- **Enter your account password for security verification.**: Your own panel password. Required; a wrong password stops the deletion.

## Tasks

### Open a call

1. Click the call name in the row, or open the row menu and choose **Open Call**.
2. **Sent** holds what left your installation and **Received** holds the reply. **Module Result** appears only where the module reworked that reply.
3. A filled panel carries a button to wrap long lines and one to copy it, and **Received** has one more to widen it. A long payload is cut at a display limit, and the copy button still hands over all of it.
4. **What Triggered This Call** at the bottom opens the panel address and the values that came with it.

### Copy a call for support

1. Open the call and click **Copy Everything** at the bottom of the dialog.
2. You get the module, the action, the address, the time and both payloads in one block.
3. The copied text is always English and the time carries its zone, so it can go straight to a provider.

### Narrow the list to one module

1. Open the row menu of a call and choose **Filter by This Module** or **Filter by This Call**.
2. The address bar keeps the filter, so the view survives a refresh. On a small log the rows stay as they are.

### Clear records older than a date

1. Open the menu next to the page title and choose **Clear Logs**.
2. Pick a date, type your password and click **Confirm**.
3. Every call up to the end of that day is removed and the page reloads.

## Things to Watch

> **Payloads hold whatever the module sent**
> 
> A stored request can carry API keys, client addresses and payment details, because that is what the module sent. Treat this screen as sensitive, keep recording on only while you are diagnosing something, and check a payload before you paste it into a ticket.

> **Searching inside payloads takes a few seconds**
> 
> The **Search Inside Payloads** box reads every stored request and response, so it is slower than the other filters. Narrow by module or date range first, then search inside what is left.

> **Clearing cannot be undone**
> 
> The dialog deletes every call up to the date you pick, and there is no way back. Copy the calls a provider still needs before you clear them.

## Required Privileges

The screen needs the `TOOLS_ACTIONS` privilege. Without it the page is not shown. The same privilege also governs the recording switch and the **Clear Logs** menu, which are hidden when you do not have it. Downloading the list needs `TABLE_EXPORT` as well, and without it the download trigger does not appear.

## Related Articles

- [Error Logs](https://docs.wisecp.com/en/system-error-logs)
- [Module Queue](https://docs.wisecp.com/en/module-action-queue)
- [Action Logs](https://docs.wisecp.com/en/action-logs)
