我使用的是Lumen 5.3,而且我不确定如何实现调试模式。
在.env中,我有这个:
APP_DEBUG=true
在我的剧本中我有这个:
Log::debug("Test");
因此,当我运行正确的脚本时,它将登录storage / logs / lumen.log。
我已经使APP_DEBUG = false的值,但我放置的Log :: debug行保持登录lumen.log。如何关闭调试级别的日志,还是以其他任何方式实现我期望发生的事情?
答案 0 :(得分:2)
流明更新
道歉我没有正确阅读,对于Lumen 5.3,您可以覆盖bootstrap/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;
});
在代码示例中,您将只记录ERROR级别。您需要导入名称空间。
要完全禁用日志记录,您可以执行以下操作
$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'),
因此,如果您将.env中的APP_LOG_LEVEL
更改为生产服务器上的error
,则不会记录整个应用程序中散布的调试消息。
在.env内
APP_LOG_LEVEL=error