Skip to content

czim/laravel-context-log-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Version on Packagist Software License Build Status Coverage Status

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.

About

Context Logging library for Laravel, addon for czim/laravel-json-context-logging

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages