Use Settings to configure delivery, Routing to select events, Logs to inspect delivery history, and Help for this guide. Routing requires Tier 1; Tier 2 adds request rules. Log visibility, payload previews, and deletion can be delegated separately with Tier 2 role permissions.
Send signals to Better Stack for structured log ingestion.
Better Stack Logs is a premium SignalPress service. The active license must include service_betterstack or *.
Hub service ID: betterstack. Index: Integrations Overview. Target from PHP: Service Targeting.
Better Stack setup
- Open Better Stack Telemetry and go to Sources.
- Create or open an HTTP-compatible log source.
- Open the source's configuration or basic information.
- Copy its Source Token and Ingesting Host into SignalPress.
- Save the settings, enable server-side delivery, and send a test log.
Do not use a Better Stack Global API Token. Global and team API tokens manage Telemetry resources; log ingestion uses the token and host assigned to an individual source.
The ingesting host resembles s123.region.betterstackdata.com. Enter only the hostname. SignalPress always uses HTTPS and sends the source token as a Bearer credential.
Settings fields
| Field | Purpose |
|---|---|
| Source Token | Token from the log source (not a Global API Token). |
| Ingesting Host | Hostname from the source configuration. |
| Default Level | Used when an event omits level or sends an invalid level. Default: info. |
The signalpress/betterstack/payload filter can adjust the log JSON before delivery.
Send a signal
PHP
sp_capture(
'payment_provider_failed',
[
'message' => 'The payment provider returned an unexpected response.',
'level' => 'error',
'order_id' => 123,
'response' => $provider_response,
],
[
'source' => 'checkout',
'services' => [ 'betterstack' ],
]
);
Supported levels are debug, info, warning, error, and critical. An invalid or omitted level uses the service default.
Better Stack receives the complete nested caller payload plus the event name, message, level, timestamp, project, environment, context, site URL, and SignalPress version.
Troubleshooting
- A disabled test button means Source Token, Ingesting Host, or Project has not been saved.
- HTTP
403normally indicates an invalid source token. - HTTP
406indicates invalid JSON. - HTTP
402indicates that the account quota or spending limit was reached. - Successful ingestion returns HTTP
202.
See [Better Stack HTTP log ingestion](https://betterstack.com/docs/logs/ingesting-data/http/logs/).
What to read next
- Integrations Overview — browse and activate services
- Your First Connection Test — send a test signal and read the log
- Advanced Event Routing — per-service event filters
- Connection Tests and Delivery Log — interpret delivery results
- Service Targeting — limit destinations from PHP