the_alex_mark/laravel-logging

Дополнительные реализации форматов журнала для проектов «Laravel»

2.1 2022-01-29 17:19 UTC

This package is auto-updated.

Last update: 2024-10-29 06:36:24 UTC


README

Дополнительные реализации форматов журнала для проектов «Laravel».


Установка

composer require the_alex_mark/laravel-logging

Использование

Логирование в формате JSON

Класс «CustomizeJsonLogger» построен на базе драйвера «daily» и поддерживает все его параметры. Дополнительно позволяет указать список процессоров для включения в записи журнала дополнительной информации.

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Monolog\Processor\HostnameProcessor;
use Monolog\Processor\WebProcessor;
use ProgLib\Logging\Via\CustomizeJsonLogger;

class AppServiceProvider extends ServiceProvider {

    /**
     * Bootstrap any application services.
     * 
     * @return void
     */
    public function boot() {
    
        $this->app->get('config')->set("logging.channels.custom", [
            'name' => 'custom',
            'driver' => 'custom',
            'via' => CustomizeJsonLogger::class,
            'path' => storage_path("logs/json/laravel.json"),
            'level' => 'debug',
            'permission' => 0755,
            'locking' => true,
            'days' => 30,
            'processors' => [
                HostnameProcessor::class,
                WebProcessor::class
            ]
        ]);
    }
}

Логирование в формате LINE с форматированным контекстом

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use ProgLib\Logging\Taps\CustomizeLineFormatter;

class AppServiceProvider extends ServiceProvider {

    /**
     * Bootstrap any application services.
     * 
     * @return void
     */
    public function boot() {
    
        $this->app->get('config')->set("logging.channels.custom", [
            'name' => 'custom',
            'driver' => 'daily',
            'path' => storage_path("logs/laravel.log"),
            'level' => 'debug',
            'permission' => 0755,
            'locking' => true,
            'days' => 30,
            'tap' => [ CustomizeLineFormatter::class ]
        ]);
    }
}