# Logs

Every till keeps a log of what it did: sales, syncs, settings changes and errors. When something goes wrong, the log says what happened, what it means for your sales and what to do next. Your store keeps a second log on the server, in WP Admin, for problems on the WordPress side.

Got an error now? [Open the entry](#open) to read it, or [send the log to support](#for-support).

## When the till has new errors[​](#unread-badge "Directe link naar When the till has new errors")

A red number on **Store health**, at the foot of the menu, counts the errors logged since you last opened **Logs**. Past 99 it reads **99+**.

![The foot of the menu: the Store health icon with a red 33 for new errors, above Settings](/img/2.x/support/logs/en/tablet-light-regular--lg-1-badge.png)1

1. **Store health** — the red number counts errors only, not warnings. On a phone, open the menu to see it.

Open **Store health**, then **Logs**, and the number clears. Opening **Database** or **Performance** doesn't clear it. Each till keeps its own count, for the store and cashier signed in on it, and closing the app doesn't reset it.

## Read the log[​](#read "Directe link naar Read the log")

Each entry is one thing the till did, newest first. Entries are kept for up to 30 days.

The log is this till's working record, not the record of a sale. For a question about a payment, start from the order in **WooCommerce → Orders**, where each payment keeps its own short history. The log shows what happened on this till around it.

![Store health on the Logs tab: the figures for today, Copy debug info, the search field, the filter buttons and the list of entries with their time, level, event, duration and status](/img/2.x/support/logs/en/tablet-light-regular--lg-2-logs.png)123456789

1. **Store health** — where the log lives.
2. **Logs** — the third tab. See [Store Health](/nl/troubleshooting/store-health.md#logs) for the figures above the list.
3. **Errors** — only errors. See [Find an entry](#find).
4. **Time** — the time for today's entries, the date and time for older ones.
5. **Level** — **error**, **warn**, **action** (something a person did), **sync**, **info** or **debug** (only while **Verbose diagnostics** is on).
6. **Event** — what happened, with the area of the app under it, and the record's name when there is one. **×2** means the same thing happened twice within a minute or so.
7. **Duration** — how long the job took.
8. **Status** — the error code on an error or warning, **✓ ok** when an action worked, otherwise **—**.
9. **The status line** — **Watching for changes**, with when this till last checked your store and when it checks next. It reads **First check pending…** until the first check is done.

Entries next to each other that belong to one job share a coloured edge down the left. Most entries show in the language the till uses now, whatever it used when they were written.

## Find an entry[​](#find "Directe link naar Find an entry")

* **Search Logs** — type an error code, such as **SYNC131**, or a word from the error.
* **All**, **Actions**, **Errors**, **Sync** — **Actions** is what a person did, **Sync** is the till talking to your store.
* **events today**, **errors today**, **stuck records** — tap **events today** for **All**, **errors today** for **Errors**, or **stuck records** for **Sync**.
* **A level** — tap it on an entry, such as **error**, to show only that level. Tap it again, or press the cross on the button it adds, to show them all.

**Showing … of …** at the foot of the list counts what you've loaded out of the entries that match. Scroll down to load more.

## Open an entry[​](#open "Directe link naar Open an entry")

Open **Store health → Logs** and press **Errors**. Look for the entry whose time matches when the problem happened, or type its error code in **Search Logs**. Tap it to read it under its row, and tap it again to close it.

![Errors on, and an AUTH201 entry opened under its row: what the server said, what to do, Open record, the Help link, the event code with Copy, and the record, operation and request](/img/2.x/support/logs/en/tablet-light-regular--lg-3-entry.png)123456

1. **Errors** — the filter that's on.
2. **The entry** — **AUTH201** in **Status** is its error code.
3. **What happened and what to do** — what your store said, when it said something, then one line on what to do. When it matters, a warning comes first, such as **Payment has been taken — don't charge again.** or **Don't clear this device's data**.
4. **Help — AUTH201** — opens the code's page in these docs. See [Error Codes](/nl/error-codes.md).
5. **Open record** — opens the order, product or customer the entry is about, when this till has it, your store has WCPOS Pro, and you're allowed to edit it.
6. **Copy** — copies the whole entry for support. **Event code** beside it is what the till was doing, the same in every language.

A stuck or refused change has **Go to Store health → Database**, where it waits for you to choose. See [When something needs you](/nl/troubleshooting/store-health.md#needs-attention). **Ask the site admin to check the server logs** means the store's own log has the reason: see [Your store's log in WP Admin](#wp-admin-logs).

More details in an entry

Under these, **Record**, **Operation**, **Request** and **Details** say what the entry was about. Other entries can have **Field**, **Attempts** or **Store's reason**. An entry with nothing more says **No further detail for this entry.**

Read the warning before you clear anything

**Don't clear this device's data** means the till holds sales or changes your store doesn't have yet. Clearing the till's data loses them. See [Clear All Local Data](/nl/troubleshooting/clear-local-data.md).

## Send the log to support[​](#for-support "Directe link naar Send the log to support")

1. Open **Store health → Logs** and press **Errors**.

2. Open the entry from when the problem happened. If it has an **Event code**, press **Copy** beside it (**Share** in the phone and tablet apps) and paste it into your message. If not, send the error code and the time.

3. Press **Copy debug info** (**Share debug info** in the phone and tablet apps) and paste that too.

   What the report holds

   The app, WordPress, WooCommerce and WCPOS versions, your store's name, the connection, today's figures, up to ten stuck records and the last ten errors.

4. Read what you pasted: **Copy** on an entry includes the cashier's name when the entry has one, and error messages can name a record. Then send both to support on [Discord](https://wcpos.com/discord) or by email to <support@wcpos.com>. See [Support](/nl/troubleshooting/contact-support.md#where-to-ask).

Don't charge a customer again

Never take a payment again just to repeat a problem for support.

5. If support asks you to repeat the problem, turn on **Verbose diagnostics** first, do it again, and send a new report.

![The Logs tab on a phone with Errors on: the figures for today, Copy debug info, the search field, the filter buttons, Verbose diagnostics and an AUTH201 entry opened, with Copy beside its event code](/img/2.x/support/logs/en/phone-light-regular--lg-4-logs-phone.png)123456

1. **Copy debug info** — a report of this till for support. In the phone and tablet apps it's **Share debug info**.
2. **Search Logs** — find the entry you were asked about.
3. **Errors** — on, so only errors show.
4. **Verbose diagnostics: off** — tap to log extra detail. It switches itself off after 24 hours.
5. **The entry** — on a phone, time and level on top, then the event, with the area and the record or the duration under it. Tap it to open it.
6. **Copy** — copies the whole entry for your message to support.

Both reports are in English whatever language the till uses.

## Your store's log in WP Admin[​](#wp-admin-logs "Directe link naar Your store's log in WP Admin")

The plugin keeps its own log on your server, about the POS's requests, sync, payments, printing and registers. Anyone who can open the POS settings in WP Admin can read it: go to **POS → Settings** and choose **Logs** under **Tools**.

Here it is with **Warnings** on:

![POS Settings in WP Admin on Logs: a red 1 and an amber 426 beside Logs in the menu, the Fatal errors detected notice, the All, Errors and Warnings filter with Warnings on, the Source list, and warnings under Today and Yesterday](/img/2.x/support/logs/en/desktop-light-regular--lg-5-wp-admin-logs.png)123456

1. **Logs** — under **Tools**. The red number counts new errors, the amber one new warnings.
2. **Warnings** — the level filter that's on. **All** and **Errors** sit beside it.
3. **Source** — which part wrote the entry, when an extension writes its own log.
4. **Today** — entries grouped by day.
5. **An entry** — click it to open it.
6. **view in WooCommerce logs** — opens WooCommerce's own logs. The notice shows when WordPress has logged a fatal PHP error.

For your site administrator: the log in WP Admin

* **Red and amber numbers** on **Logs** in the settings menu count the errors and warnings since you last opened it. Each user has their own count, and opening **Logs** sets it back to 0.
* **All**, **Errors**, **Warnings** — filter by level. A **Source** list appears when an extension writes its own log.
* **Entries by day** — under **Today**, **Yesterday** or a date, 50 to a page, with **Previous** and **Next**.
* **Click an entry** to open it: its level, source and full time, the message and any context, and a **Copy** button.

The log is stored with WooCommerce's own logs, so WooCommerce decides how long entries are kept. The page can't clear or download them.

**Fatal errors detected — view in WooCommerce logs** appears at the top when WordPress has logged a fatal PHP error. The link opens **WooCommerce → Status → Logs** in a new tab. A crash like this can stop the POS reaching your store: show it to whoever runs your website.

## If something goes wrong[​](#goes-wrong "Directe link naar If something goes wrong")

**The red number comes back.** New errors were logged after you last looked. Open **Logs**, press **Errors** and read the newest.

**"No logs found".** Nothing matches the search or filter. Press **All** and clear the search.

**"Last check didn't complete — retrying".** The till couldn't reach your store on its last check. It tries again by itself. If changes pile up, see [Store Health](/nl/troubleshooting/store-health.md#waiting-to-send).

**The stuck records count here and in Database differ.** Open **Store health → Database** to see what needs you. **stuck records** here counts what the log saw; Database also lists changes your store turned down or held back. See [When something needs you](/nl/troubleshooting/store-health.md#needs-attention).

**The till is slow.** **Duration** shows how long each job took. For the last 24 hours as a whole, see [Performance](/nl/troubleshooting/store-health.md#performance) and [Server Performance](/nl/troubleshooting/performance/slow-server.md).

## Related Documentation[​](#related-documentation "Directe link naar Related Documentation")

[Store HealthWhat's on this till and what hasn't reached your store.](/nl/troubleshooting/store-health.md)

[Error CodesWhat each code means and what to do.](/nl/error-codes.md)

[Server PerformanceWhen your hosting struggles to keep up.](/nl/troubleshooting/performance/slow-server.md)
