Main Header

Better Stack Logs for SignalPress

Updated on July 30, 2026

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

  1. Open Better Stack Telemetry and go to Sources.
  2. Create or open an HTTP-compatible log source.
  3. Open the source's configuration or basic information.
  4. Copy its Source Token and Ingesting Host into SignalPress.
  5. 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

FieldPurpose
Source TokenToken from the log source (not a Global API Token).
Ingesting HostHostname from the source configuration.
Default LevelUsed 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 403 normally indicates an invalid source token.
  • HTTP 406 indicates invalid JSON.
  • HTTP 402 indicates 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/).