Как отдельно сделать логирование в Laravel для отдельного пакета?

В Laravel для логирования сообщений используется встроенный сервис логирования Monolog. Он позволяет настраивать различные каналы логирования, чтобы разделить сообщения на различные источники. Если вы хотите настроить отдельное логирование для отдельного пакета, вам потребуется выполнить несколько шагов.

1. Создайте новый канал логирования в файле конфигурации config/logging.php. В качестве имени канала можно использовать любую строку, но рекомендуется использовать имя пакета.

'channels' => [
    'your-package-name' => [
        'driver' => 'single',
        'path' => storage_path('logs/your-package-name.log'),
        'level' => 'debug',
    ],
],

2. Перейдите к нужному месту в вашем пакете и добавьте следующий код, чтобы получить экземпляр логгера с указанным каналом:

use IlluminateSupportFacadesLog;

Log::channel('your-package-name')->debug('Your log message');

3. Теперь все сообщения, зарегистрированные с помощью этого экземпляра логгера, будут записываться в указанный файл your-package-name.log.

Обратите внимание, что вы также можете настроить другие параметры канала, такие как уровень логирования ('level'), функция обработки ('handler'), форматирование сообщений ('formatter') и т. д.

Дополнительно, чтобы использовать созданный канал при использовании Log фасада, вы можете добавить следующую команду в начало вашего пакета:

use IlluminateSupportFacadesLog;

Log::channel('your-package-name');

Теперь все логи, которые пишутся через Log::debug('Your log message') или другие уровни, будут сохраняться в вашем указанном файле журнала.

Надеюсь, эти шаги помогут вам настроить отдельное логирование для вашего пакета в Laravel.