logtide / logtide-slim
LogTide integration for Slim Framework 4
v0.7.0
2026-03-06 20:21 UTC
Requires
- php: ^8.1
- logtide/logtide: ^0.1
- psr/http-server-middleware: ^1.0
- slim/slim: ^4.0
This package is not auto-updated.
Last update: 2026-03-07 19:39:19 UTC
README
logtide/logtide-slim
LogTide middleware for Slim 4 — automatic request tracing, error capture, and breadcrumbs.
Features
- Automatic request spans for every incoming request
- Error capture with full request context via error middleware
- W3C Trace Context propagation (
traceparentin/out) - Route pattern resolution from Slim routing
- Configurable skip paths (e.g.
/health,/healthz) - PSR-15 compliant middleware
- Slim 4 support
Installation
composer require logtide/logtide-slim
Quick Start
use LogTide\Slim\LogtideMiddleware; use LogTide\Slim\LogtideErrorMiddleware; use Slim\Factory\AppFactory; // Initialize LogTide \LogTide\init([ 'dsn' => 'https://lp_your_key@your-instance.com', 'service' => 'my-slim-api', ]); $app = AppFactory::create(); // Add LogTide request tracing middleware $app->add(new LogtideMiddleware()); // Add routes $app->get('/hello/{name}', function ($request, $response, $args) { $response->getBody()->write("Hello, {$args['name']}!"); return $response; }); // Option A: Use Slim's built-in error middleware (LogtideMiddleware captures errors too) $app->addErrorMiddleware(true, true, true); // Option B: Use LogtideErrorMiddleware as a standalone alternative // $app->add(new LogtideErrorMiddleware($app->getResponseFactory())); $app->run();
How It Works
The middleware runs on every request and:
- Extracts incoming
traceparentheader (or generates a new trace) - Creates a span named after the request (e.g.
HTTP GET /hello/{name}) - Records breadcrumbs for request and response
- Calls the next middleware/handler
- Finishes the span with
okorerrorbased on response status - Injects
traceparentinto the response headers - Captures errors for 5xx responses with full context
Configuration
Skip Paths
$middleware = new LogtideMiddleware( skipPaths: ['/health', '/healthz', '/metrics'], );
Error Middleware
LogtideErrorMiddleware is a standalone alternative to Slim's built-in addErrorMiddleware. It captures exceptions, logs them to LogTide, and renders an error response.
use LogTide\Slim\LogtideErrorMiddleware; // Use instead of $app->addErrorMiddleware() $app->add(new LogtideErrorMiddleware( responseFactory: $app->getResponseFactory(), displayErrorDetails: true, // show details in dev ));
License
MIT License - see LICENSE for details.
