Улучшенные логи в Laravel

Настройка пакета производится путем добавления LogEnhancer к параметру tap в config/logging.php:

'production_stack' => [
  'driver' => 'stack',
  'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
  'channels' => ['daily', 'slack'],
],

После настройки канала, в логах появятся дополнительные данные, например:

[2018-03-30 05:07:23] local.INFO: Testing log {"inputs":[],"session":{"_token":"bZXCPViCzmaULIO6GsdLBbveC1yd3BbyH31zfT8c","_previous":{"url":"http://log-enhancer-demo.test"},"_flash":{"old":[],"new":[]}},"url":"/","ip":"127.0.0.1","http_method":"GET","server":"","referrer":null}

Вот варианты (также показывающие дополнительные данные, которые включены по-умолчанию), которые вы можете настроить для расширенного ведения журнала:

<?php

return [
  'log_request_details' => true,
  'log_input_data' => true,
  'log_request_headers' => false,
  'log_session_data' => true,
  'log_memory_usage' => false,
  'log_git_data' => false,
  // You can specify the inputs from the user that should not be logged
  'ignore_input_fields' => ['password', 'confirm_password']
];

Обратите внимание на ignore_input_fields, чтобы избежать случайного регистрации конфиденциальных пользовательских данных, таких как пароли или кредитные карты. Будьте особенно внимательны, чтобы личные данные не попали в ваши журналы!

Чтобы настроить LogEnhancer, запустите artisan vendor:publish чтобы скопировать config файлы для этого пакета:

php artisan vendor:publish --tag=laravel-log-enhancer-config

Вы можете установить этот пакет вместе с composer, выполнив следующую команду в проекте Laravel 5.6:

composer require freshbitsweb/laravel-log-enhancer

Перевод статьи Laravel Log Enchancer Package.

Опубликовано: