cognesy/logging

Functional logging pipeline for Instructor PHP with framework integrations

Maintainers

👁 ddebowczyk

Package info

github.com/cognesy/instructor-logging

Homepage

Issues

pkg:composer/cognesy/logging

Statistics

Installs: 0

Dependents: 1

Suggesters: 0

Stars: 0

v2.3.1 2026-03-30 09:16 UTC

MIT 3cc33e0dbac0785bd00a3b784950d9a00117b0e9

  • Dariusz Debowczyk <ddebowczyk.woop@gmail.com>

README

Functional logging pipeline for InstructorPHP events.

Use it to turn events into structured log entries using composable:

  • filters
  • enrichers
  • formatters
  • writers

Symfony integration is included.

Framework integration wiring is explicit in 2.0:

  • Laravel integration lives in packages/laravel.
  • Symfony legacy bundle wiring uses instructor_logging.event_bus_service (default Cognesy\Events\Contracts\CanHandleEvents).
  • The legacy Symfony bundle path is deprecated in favor of cognesy/instructor-symfony and instructor.logging.

Example

<?php

use Cognesy\Events\Event;
use Cognesy\Logging\Enrichers\BaseEnricher;
use Cognesy\Logging\Filters\LogLevelFilter;
use Cognesy\Logging\Formatters\DefaultFormatter;
use Cognesy\Logging\LogEntry;
use Cognesy\Logging\Pipeline\LoggingPipeline;
use Cognesy\Logging\Writers\CallableWriter;
use Psr\Log\LogLevel;

$pipeline = LoggingPipeline::create()
 ->filter(new LogLevelFilter(LogLevel::INFO))
 ->enrich(new BaseEnricher())
 ->format(new DefaultFormatter())
 ->write(CallableWriter::create(function (LogEntry $entry): void {
 error_log($entry->message);
 }))
 ->build();

$pipeline(new Event(['operation' => 'demo']));

Documentation

  • packages/logging/CHEATSHEET.md
  • packages/logging/src/
  • packages/logging/tests/