Laravel Console Logger

Пакет Laravel Console Logger предоставляем механизм логирования и извещений для консольных команд. В Laravel вывод штатными средствами происходит в общий лог. Для консольных команд это чаще всего не удобно. Эту проблему пакет решает успешно. Кстати, использует все тот же Monolog.

Установка пакета:

composer require illuminated/console-logger

Для использования нужно указать trait Loggable.

use Illuminated\Console\Loggable;

class ExampleCommand extends Command
{
    use Loggable;

    public function handle()
    {
        $this->logInfo("Hello World!");
    }

    // ...
}

Результат использования команды:

[2016-05-11 17:19:21]: [INFO]: Command `App\Console\Commands\ExampleCommand` initialized.
[2016-05-11 17:19:21]: [INFO]: Host: `MyHost.local` (`10.0.1.1`).
[2016-05-11 17:19:21]: [INFO]: Database host: `MyHost.local`, port: `3306`, ip: ``.
[2016-05-11 17:19:21]: [INFO]: Database date: `2016-05-11 17:19:21`.
[2016-05-11 17:19:21]: [INFO]: Hello World!
[2016-05-11 17:19:21]: [INFO]: Execution time: 0.009 sec.
[2016-05-11 17:19:21]: [INFO]: Memory peak usage: 8 MB.

Лог будет сохранен в storage/logs в отдельной директории для каждой команды. Также поддерживается ротация логов.

Система извещений имеется на случай если вы хотите быть оперативно проинформированны о сообщениях определенного уровня критичности.

Есть различные каналы извещений:

  • email
  • slack
  • database.

Еще одна приятная мелочь. Пакет умеет вести автоматическое логирование http обращений с помощью Guzzle 6+ (http-клиент на php).

Leave a Reply

Ваш адрес email не будет опубликован.