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
- Open SignalPress → Settings → Debugging.
- Scroll to Automatic error monitoring (below Pro debugging settings).
- Under Automatic capture, enable one or both:
- Capture PHP errors and fatal errors
- Capture JavaScript errors and unhandled promise rejections
- Set Minimum PHP level — Notice, Warning, or Error (default: Warning).
- Optionally check Include redacted stack locations without function arguments.
- 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:
| Field | Description |
|---|---|
message | Error message |
level | notice, warning, error, or critical |
error_type | PHP constant name (for example E_WARNING) |
file | Path relative to WordPress root |
line | Line number |
component | plugin:slug, theme:slug, wordpress-core, or unknown |
fingerprint | Hash for deduplicating repeated errors |
stack | Optional 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
promiserejections
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:
- Review which integrations receive events — Connection Tests and Delivery Log
- Consider filtering at destination or using Hooks and Filters on Tier 1+
- Pair with redaction settings in Pro debugging for manual dumps; automatic events use their own payload shape
vs System Logs vs sp()
| Tool | Purpose |
|---|---|
| Automatic error monitoring | Send errors as SignalPress events |
| System Logs | Read raw PHP log in wp-admin |
Pro / basic sp() | Intentional variable inspection |