Download the PHP package pablo1gustavo/monolog-seq without Composer
On this page you can find all versions of the php package pablo1gustavo/monolog-seq. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pablo1gustavo/monolog-seq
More information about pablo1gustavo/monolog-seq
Files in pablo1gustavo/monolog-seq
Package monolog-seq
Short Description Integrates Monolog with Seq using HTTP ingestion, enabling structured event logging to a centralized Seq server for enhanced log management.
License MIT
Informations about the package monolog-seq
Monolog Seq
Integrates PHP Monolog with Seq using HTTP ingestion, enabling structured event logging to a centralized Seq server for enhanced log management.
Installation
Usage
This package automatically formats log records as CLEF (Compact Log Event Format) and sends them to Seq via HTTP. The fields @t, @m/@mt, @l, and @x are set automatically from the log record.
For more details, refer to the official Seq documentation.
Vanilla PHP
You can find a runnable example in example.php.
Laravel
Laravel allows configuring custom Monolog handlers within config/logging.php. See Laravel Logging - Creating Monolog Handler Channels for details.
The
formatterkey is required. Without it, Laravel applies its default formatter, which produces plain text instead of CLEF.
Symfony
See How to Define a Custom Logging Handler for details.
Register both the handler and the formatter as services in config/services.yaml:
Then reference them in config/packages/monolog.yaml:
The
formatteroption is required. Without it, Symfony's MonologBundle appliesLineFormatterby default, which produces plain text instead of CLEF.
Retry
SeqHandler automatically retries failed deliveries using an exponential-free (immediate) retry strategy. By default it retries up to 3 times on:
- Connection errors — DNS failure, connection refused, timeout, SSL errors
- HTTP 503 Service Unavailable — the only HTTP status that explicitly signals transient unavailability
All other failures (4xx, 500, 502, 504…) are not retried.
When all retries are exhausted, a SeqDeliveryException is thrown with the original cause attached as $previous.
Batch Ingestion
By default, each log record is sent as a separate HTTP request. For better performance, wrap SeqHandler with Monolog's BufferHandler to accumulate records and flush them in a single request at the end of the process:
The BufferHandler automatically flushes at the end of the request via register_shutdown_function().
CLEF Fields via Context
Any CLEF property passed in the log context is promoted to a top-level field in the event. This includes tracing, event identity, and custom overrides:
Supported CLEF fields: @i (event ID), @tr (trace ID), @sp (span ID), @ps (parent span ID), @st (span start), @sk (span kind), @sc (instrumentation scope), @ra (resource attributes).