czim/laravel-context-log-library
Context Logging library for Laravel
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.
Version Compatibility
| Laravel | Package |
|---|---|
| 6.0 - 8.0 | 1.0 |
| 9.0 | 2.0 |
| 10.0 and up | 3.0 |
Installation
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.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Laravel5 JSONAPI and Dingo together to build APIs fast
Cloud native, API first Laravel eCommerce package with integrated AI for ultra-f...