Main Header

Automatic error monitoring

Updated on July 30, 2026

Tier 2 (Pro) can automatically capture PHP errors and JavaScript errors as SignalPress events — useful for staging alerts, dashboards, or correlating failures with Capturing Events.

This is separate from Pro debugging sp() dumps and from the System Logs viewer. It sends structured events through the normal capture pipeline.

Enable error monitoring

  1. Open SignalPress → Settings → Debugging.
  2. Scroll to Automatic error monitoring (below Pro debugging settings).
  3. Under Automatic capture, enable one or both:
  • Capture PHP errors and fatal errors
  • Capture JavaScript errors and unhandled promise rejections
  1. Set Minimum PHP level — Notice, Warning, or Error (default: Warning).
  2. Optionally check Include redacted stack locations without function arguments.
  3. Save changes.

Default: off for both capture channels. Turning it on does not enable sp() output — configure those separately on the Pro debugging form above.

Requires Tier 2 license. Events respect your active integrations and delivery rules like any other capture.

PHP errors

When PHP error monitoring is enabled, SignalPress registers handlers for reportable PHP errors (respecting error_reporting()). Each qualifying error becomes a capture with event name php_error.

Typical payload fields:

FieldDescription
messageError message
levelnotice, warning, error, or critical
error_typePHP constant name (for example E_WARNING)
filePath relative to WordPress root
lineLine number
componentplugin:slug, theme:slug, wordpress-core, or unknown
fingerprintHash for deduplicating repeated errors
stackOptional redacted backtrace (when stack traces enabled)

The handler returns false so PHP’s normal error handling continues. Shutdown and exception handlers also capture fatals as critical. Use System Logs for the full historical log file.

JavaScript errors

When JS error monitoring is enabled, Pro loads a small client script that listens for:

  • window.onerror
  • Unhandled promise rejections

Each report is sent to:

Text

POST /wp-json/signalpress/v1/browser-error

The server creates a javascript_error capture with message, source, line/column, stack (when available), and page URL.

Rate limiting

Browser error reports are limited to 20 requests per minute per IP to prevent runaway loops from noisy scripts.

Privacy and production use

Error payloads can include file paths, URLs, and stack traces. Before enabling on production:

vs System Logs vs sp()

ToolPurpose
Automatic error monitoringSend errors as SignalPress events
System LogsRead raw PHP log in wp-admin
Pro / basic sp()Intentional variable inspection