Laravel 5-изменить расположение журнала по умолчанию, переместить файл журнала за пределы приложения


Как я могу изменить расположение файла журнала по умолчанию <project-name>/storage/logs/laravel.log на что-то вроде /var/logs/<project-name>/laravel.log?

2 10

2 ответа:

Я решил этот случай с помощью errorlog ведение журнала Модели и настройка веб-сервера.

1. Настройка Laravel:

В файле конфигурации config/app.php:

'log' => 'errorlog'

Подробнее о конфигурации журнала фреймворк Laravel: http://laravel.com/docs/5.1/errors#configuration

2. Настройка веб-сервера (в моем случае Nginx):

error_log    /var/log/nginx/<project_name>-error.log;

Для тех, кто не хочет использовать errorlog и просто очень хочет заменить файл для входа в систему, вы можете сделать это:

\Log::useFiles(env('APP_LOG_FILE'), config('app.log_level', 'debug'));
$handlers = \Log::getMonolog()->getHandlers();
$handler = array_shift($handlers);
$handler->setBubble(false);

На App\Providers\AppServiceProvider.php или любой Provider, Если на то пошло. Это приведет к значению APP_LOG_FILE вместо значения по умолчанию laravel.log. Набор бурлящие true и приложение будет записывать на оба файла.