Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk12 min

How to Enable and Read WooCommerce Logs (Complete Troubleshooting Guide)

A practical guide to WooCommerce Logs: enable the logger, choose storage and retention, correlate entries with failed checkouts, troubleshoot missing gateway messages, and inspect WordPress debug.log for PHP fatals.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Open WooCommerce > Status > Logs to inspect WooCommerce log entries. Choose the source and date that cover the failed action, then search the message fields for the order number, payment gateway, endpoint, extension, or exact error text. If WooCommerce is not recording the event, open Logs > Settings, enable the logger, choose file-system or database storage, set retention, and select an appropriate minimum severity. For PHP failures that occur outside WooCommerce’s logger, enable WordPress’s protected debug log and inspect wp-content/debug.log. This guide explains the settings, storage trade-offs, reading method, checkout and payment diagnosis, and safe escalation.

Open the WooCommerce log viewer

Use the administrator path

  1. Sign in to WordPress with an account that can manage WooCommerce.
  2. Go to WooCommerce > Status > Logs.
  3. In the log selector, choose the source and date closest to the failed checkout, payment, webhook, scheduled task, import, or other event.
  4. Open the entry and search within its message fields. Search first for a stable identifier: the order number, gateway name, REST endpoint, plugin or extension slug, or a distinctive fragment of the error.

The viewer lists file-system logs by source and date. A precise event time makes the list much easier to navigate, so record the time shown by the browser, server, or customer and note whether it is local time or UTC.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When the log list appears empty

An empty list does not prove that the store had no error. The event may have been written by a different source, may predate a storage change, or may belong to WordPress or the web server rather than WooCommerce’s logger. Check the selected date and source, then verify the logger settings. For a PHP failure outside WooCommerce, use wp-content/debug.log as described below. If the failure is at the server layer, ask the host for PHP and web-server records covering the same timestamp.

Enable and configure WooCommerce logging

Open the logger settings

From the log area, open Logs > Settings. Confirm that logging is enabled before reproducing the problem. The settings page controls the handler, retention period, and minimum severity that will be stored.

Choose a storage handler

WooCommerce provides two built-in storage methods: File system and Database. Select the one that fits the way your team backs up, searches, and protects the site. The choice affects new entries; changing it does not migrate existing records to the new handler and does not delete the old records. If an incident began before the change, investigate the former location as well as the current one.

Set retention

Retention removes old records so diagnostics do not consume storage indefinitely. With file storage, WooCommerce deletes complete log files that are older than the retention period. With database storage, it deletes individual old entries. Choose a period long enough to cover your normal incident-response window, but do not retain sensitive production data longer than your security and privacy policies require.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set the minimum severity

Select the minimum level that should be recorded. Choosing None records all severities, including the most verbose diagnostic messages. A lower threshold can be useful while reproducing an intermittent fault, but verbose logging should not remain enabled indefinitely on a busy production store. After collecting the evidence, raise the threshold to the normal operating value.

Reproduce one controlled event

  1. Write down the exact time, including the time zone, before starting.
  2. Record the affected order number, customer-visible action, checkout or REST endpoint, gateway, and extension involved.
  3. Perform one reproduction rather than repeating the same failed payment many times; repeated attempts make correlation harder and can create duplicate orders or authorization attempts.
  4. Return to WooCommerce > Status > Logs, select the source and date for that attempt, and search for the recorded identifiers.

This controlled sequence lets you distinguish the message generated by the failure from unrelated notices generated by background jobs or other shoppers.

Understand WooCommerce severity levels

WooCommerce’s logger recognizes eight levels: emergency, alert, critical, error, warning, notice, info, and debug. Severity is a prioritization signal, not a diagnosis. Read it together with the source, timestamp, message, and context. A warning may be harmless in one integration and decisive in another; an error that appears once may be a consequence of an earlier, more important failure.

Level How to use it during triage
Emergency Treat as the highest-priority condition. Check whether the store or a core operation is unavailable and escalate immediately if it is recurring.
Alert Investigate promptly; it indicates a condition requiring action before normal operation can be trusted.
Critical Look for a failed core path, repeated integration failure, or a condition that can prevent orders from completing.
Error Follow the message and context to the failing operation, then determine whether it is reproducible and recurring.
Warning Use as a clue. Confirm whether the same source and message occur at the customer’s failure time.
Notice Usually supplies a state change or noteworthy condition; correlate it with the action instead of treating it as proof of failure.
Info Provides normal operational detail that can establish what the integration attempted.
Debug Most verbose diagnostic context. Enable it temporarily when the normal threshold does not reveal the sequence.

The practical question is not “Is there an error?” but “Which source produced this message at the moment the customer’s action failed, and what does the surrounding context show?”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read an individual entry in the right order

Start with the timestamp

Match the entry’s timestamp to the customer’s click, checkout request, webhook delivery, scheduled task, or import/export job. Account for time-zone differences between the browser, WordPress, hosting platform, and payment provider. If you cannot establish a reliable time, reproduce the event and record the time immediately.

Identify the source

The source often points to the subsystem that emitted the record: a payment gateway, a WooCommerce component, an extension, a REST request, or a background process. Group messages from the same source around the failure. A message from an unrelated scheduled task can be valid but irrelevant to the checkout symptom.

Read severity and message together

Read the complete message, not just the level. Capture the first meaningful failure in a chain: later messages may report that an order, webhook, or callback could not continue because an earlier request failed. Preserve the exact spelling of error text when searching documentation or asking an extension developer for help.

Use context and stable identifiers

Search for an order number, gateway name, endpoint, plugin slug, request identifier, or distinctive error phrase. Context can show the operation that was attempted, the object being processed, or the response that came back. Avoid relying only on a customer’s name or a partial product title because those values are less stable and can expose personal data when logs are shared.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Confirm recurrence

Treat a single warning as a lead. Check whether the same source and message recur immediately before or after the failed action, and whether other orders show the same pattern. Repetition at the exact event time is stronger evidence than an isolated entry elsewhere in the file.

File-system versus database storage

Consideration File system Database
Default location Files in the site’s uploads/wc-logs directory by default. Rows in the {$wpdb->prefix}woocommerce_log table.
Retention behavior WooCommerce removes whole files beyond the retention period. WooCommerce removes individual old entries beyond the retention period.
Growth behavior A file can rotate at 5 MB before WooCommerce starts a new file. Entries accumulate as database rows and are removed individually by retention.
Access Inspectable through the WooCommerce log screen and, when appropriate, by an administrator with protected file access. Inspectable through the WooCommerce log screen or controlled database administration tools.
History after switching Existing files remain in the old handler; switching does not migrate them. Existing rows remain in the old handler; switching does not migrate them.
Operational concern File permissions, backups, and web-server protection determine whether records can be written and kept private. Database backups, table access, and database growth determine recoverability and privacy.

The 5 MB figure is a WooCommerce product behavior for file-log rotation, not a guarantee that every incident fits in one file. A busy store can produce several rotated files, so use the source and date selectors rather than opening only the newest file.

Protect file logs

WooCommerce adds an .htaccess file intended to protect the wc-logs directory, but the documentation warns that not every web server recognizes it. Whenever possible, place logs outside the web root and preserve permissions that allow WordPress to write them. Verify the protection provided by the actual server stack; do not assume that a directory containing payment or customer details is private merely because an .htaccess file exists.

Protect database logs

Limit database access to the administrators and service accounts that need it, include the log table in an appropriate backup plan, and apply the same retention and redaction rules used for file logs. A database row is not automatically safer than a file; it is still operational data that can contain request details, identifiers, or sensitive responses.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Diagnose a failed checkout or payment

Build a narrow event record

Before changing settings, write down the customer action, order number (if one exists), gateway, device or endpoint involved, exact time zone, and extension versions known to be active. This prevents a broad search through unrelated background activity.

Search the matching WooCommerce source

In the log viewer, select the date and source covering the attempt. Search in this order:

  1. The order number or checkout request identifier.
  2. The payment gateway name or extension slug.
  3. The REST or AJAX endpoint involved.
  4. A distinctive phrase copied from the customer-facing error.

Read several entries before and after the first matching line. Payment failures commonly involve a sequence—request, response, validation, and order-state update—so the first abnormal response can be more useful than the final “payment failed” message.

If no gateway entry exists

WooCommerce’s logger is used by many extensions, but an extension may expose its own logging switch. Open that gateway or extension’s settings and confirm its diagnostic option is enabled, then reproduce the event once. If the extension writes outside WooCommerce, follow its documented location and apply the same timestamp and redaction discipline.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If WooCommerce records only the symptom

Move one layer down rather than raising verbosity forever. Use a staging or development environment with Query Monitor to inspect database queries, PHP errors, AJAX and REST requests, hooks and actions, enqueued scripts and styles, and HTTP API calls. If the failure is server-level, request PHP and web-server logs from the host for the same timestamp. Keep the production store’s customer-facing error display unchanged while collecting evidence.

Use WordPress’s debug log for PHP failures

Some fatal errors occur before WooCommerce’s logger can record them, or they originate in WordPress core, another plugin, or PHP itself. WooCommerce’s maintained debugging guidance uses WordPress’s debug constants and writes to wp-content/debug.log.

Set the constants in wp-config.php

Add or update these definitions before the line that says WordPress should stop editing the file. If the constants already exist, change their values rather than defining duplicates:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

WP_DEBUG enables debugging, WP_DEBUG_LOG writes errors to the log file, and WP_DEBUG_DISPLAY keeps those errors out of the page response. Hiding display errors is essential on a public store: it enables the debug log without exposing PHP paths or diagnostic content to shoppers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Reproduce and inspect

  1. Save a backup or otherwise preserve the current configuration before editing.
  2. Enable the three settings, reproduce the failure once, and note the exact time.
  3. Open wp-content/debug.log and locate entries around that time.
  4. Match the fatal error’s file, function, plugin, or extension to the WooCommerce entry and the customer action.

When the incident is captured, return the site to its normal secure debugging configuration. Do not leave verbose debugging enabled indefinitely on a busy production store.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Investigate fatal errors and related layers

Diagnostic layer What it can reveal When to use it
WooCommerce Logs WooCommerce and extension logger messages, source, severity, timestamp, and context. The failure is tied to an order, gateway, webhook, scheduled task, or WooCommerce operation.
wp-content/debug.log WordPress/PHP errors that are outside, or occur before, WooCommerce’s logger. A fatal error, PHP warning, or plugin conflict is suspected and the WooCommerce entry shows only a symptom.
Query Monitor Database queries, PHP errors, AJAX and REST requests, hooks/actions, enqueued assets, and HTTP API calls. You need request-level detail in a staging or development environment.
Host PHP and web-server logs Server-level failures, rejected requests, timeouts, process limits, and web-server responses. No application log covers the timestamp, or the request never reaches WordPress.

These layers are complementary, not interchangeable. Start with the layer closest to the failed action, then escalate only when its evidence ends. Keep timestamps aligned across all four sources.

Best Value
Teacher Record Book
  • Keep track of everything from attendance to test scores
  • Spiral bound
  • Measures 8-1/2" x 11"

Troubleshooting branches

The Logs screen has no record of a known failure

  • Check Logs > Settings and confirm the logger is enabled.
  • Verify that the minimum severity is not filtering out the event; temporarily choose None while reproducing.
  • Confirm that you selected the correct source and date.
  • Check the previous storage location if the handler was recently changed.
  • Inspect wp-content/debug.log and host logs if the failure is outside WooCommerce.

Entries stop appearing after a configuration change

Confirm the selected handler, write permissions, available disk or database capacity, and retention setting. A handler change does not copy old history, so compare the new location with the old one before concluding that records vanished.

A file exists but cannot be opened publicly or through a server tool

That may be a protection feature rather than a logging failure. Use the WooCommerce administrator viewer, verify file ownership and permissions, and ask the host how the web server handles the directory’s protection rules. Do not weaken access controls just to make a raw log downloadable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The message contains customer or credential data

Restrict access, redact personal information, payment details, tokens, and API keys before sending an excerpt to a developer or host, and never publish the raw file. After the incident, shorten retention or raise the severity threshold if the extra detail is no longer needed.

Only a warning appears around the failed order

Compare the warning’s source and timestamp with adjacent messages and with another reproduction. A warning is evidence to investigate, not proof that it caused the failure. Look for the first abnormal response or preceding error in the same sequence.

Share a useful, safe log excerpt

When escalating, send a compact timeline instead of an entire log file:

  • Site time zone and the corresponding UTC time, if known.
  • WooCommerce, WordPress, PHP, gateway, and extension versions that affect the path.
  • The order number or a redacted identifier.
  • The source, severity, and complete message for the relevant entries.
  • A few surrounding lines that establish the sequence, with secrets and personal data removed.
  • The storage handler and minimum severity in effect when the event was reproduced.
  • Whether the same message recurred and whether a clean reproduction is available.

Keep the original log protected for internal review, and make a separate redacted copy for external support. API keys, authorization headers, customer addresses, email addresses, payment information, and session data should never be included in a public ticket.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Production logging checklist

  1. Enable only the level of detail needed to capture the incident.
  2. Reproduce once and record the exact time zone, source, order, endpoint, and extension.
  3. Search WooCommerce Logs first, then WordPress debug and host logs when the failure crosses an application boundary.
  4. Confirm recurrence before treating a warning or isolated notice as the cause.
  5. Redact sensitive data before sharing any excerpt.
  6. Restore the normal minimum severity and WordPress debug-display settings after capture.
  7. Review retention, backups, permissions, and web-server protection so the next incident is both recoverable and private.

With those controls in place, WooCommerce logs become a timeline you can correlate with a real customer action rather than a permanent stream of unfiltered production data.

Quick Recap

SaleBestseller No. 4
Bestseller No. 5
Teacher Record Book
Teacher Record Book
Keep track of everything from attendance to test scores; Spiral bound; Measures 8-1/2" x 11"
$4.89

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.