Lumen Debug Log не работает должным образом - PullRequest
0 голосов
/ 25 мая 2018

Я использую Lumen 5.3, и я не уверен, как мне реализовать режим отладки.

В .env, у меня есть это:

APP_DEBUG=true

В моем скрипте яиметь это:

Log::debug("Test"); 

Таким образом, он будет входить в хранилище / logs / lumen.log, когда я запускаю правильный скрипт.

Я установил значение APP_DEBUG = false, и все жестрока log :: debug, которую я поставил, продолжает регистрироваться в lumen.log.Как отключить журнал на уровне отладки или любой другой способ реализовать то, что я ожидаю произойти?

1 Ответ

0 голосов
/ 25 мая 2018

Обновление для Lumen

Извинения Я неправильно читал, для Lumen 5.3 вы можете переопределить ведение журнала внутри bootstrap/app.php, выдвигая свой собственный обработчик журнала.

Добавьте следующее в конец файла app.php, перед вами return $app:

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
...
$app->configureMonologUsing(function($monolog) {
    $handler = new StreamHandler(storage_path('logs/lumen.log'), Logger::ERROR);
    $handler->setFormatter(new LineFormatter(null, null, true, true));
    $monolog->pushHandler($handler);

    return $monolog;
});

В примере кода вы будете регистрировать только уровни ОШИБКИ.Вам нужно будет импортировать пространства имен.

Чтобы полностью отключить ведение журнала, вы можете сделать следующее

$app->configureMonologUsing(function($monolog) {
    $monolog->pushHandler(new NullHandler(Logger::DEBUG));

    return $monolog;
});

Оставив исходный ответ Laravel 5.3

ДляВ laravel 5.3 уровень журнала настраивается внутри app/config.php.

Обычно по умолчанию используется значение

'log_level' => env('APP_LOG_LEVEL', 'debug'),

Так что если вы измените APP_LOG_LEVEL внутри .env на что-то вроде error наваш рабочий сервер не будет регистрировать отладочные сообщения, разбросанные по всему приложению.

Внутри вашего .env

APP_LOG_LEVEL=error
...