Helper library for standard setup of czim/laravel-json-context-logging.
This helps you to quickly create context channels for logging. It is not a requirement for using JSON context logging.
Laravel | Package |
---|---|
6.0 - 8.0 | 1.0 |
9.0 | 2.0 |
10.0 and up | 3.0 |
No installation required; however, classes must be bound manually in your service provider.
<?php
use Czim\LaravelContextLogging\Config\StandardJsonContextConfigSource;
use Czim\LaravelContextLogging\Contracts\ContextLoggerFactoryInterface;
use Czim\LaravelContextLogging\Contracts\DebugEventLogPrepperInterface;
use Czim\LaravelContextLogging\Factories\ContextLoggerFactory;
class AppServiceProvider extends \Illuminate\Support\ServiceProvider
{
// ...
public function register(): void
{
$this->app->singleton(
DebugEventLogPrepperInterface::class,
\Your\JsonContextEventLogPrepper::class
);
$this->app->singleton(
ContextLoggerFactoryInterface::class,
function (): void {
$factory = new ContextLoggerFactory();
$factory->setConfigs($this->makeLogContextConfigArray());
return $factory;
}
);
}
protected function makeLogContextConfigArray(): array
{
return $this->app->make(StandardJsonContextConfigSource::class)
->enableContextLogging()
->makeConfigArray();
}
}
You will also have to set up your own event, which may extend Czim\LaravelContextLogging\Events\AbstractDebugEvent
.
The listener for that event should use the ContextLoggerFactoryInterface
to make a logger,
and the DebugEventLogPrepperInterface
to render the event into loggable data to be logged by it.
The MIT License (MIT). Please see License File for more information.