即使APP_DEBUG = false,Laravel仍会记录日志

时间:2016-11-15 13:49:54

标签: php logging laravel-5 environment-variables

由于某些原因,在我的.env文件中设置APP_DEBUG = false后,laravel会继续将日志语句写入laravel日志。

我有以下日志声明:

Log::debug("testmessage : BEGIN");

我已经确认Laravel正在读取环境变量。我使用写入错误日志的此命令执行此操作:

error_log("APP_DEBUG : " . env('APP_DEBUG', false));

如果APP_DEBUG为假,则不显示任何内容,如果为真,则显示“1”

我已清除缓存:

gavin@gavin-VirtualBox:/var/www/hipengage$ **php artisan config:cache**
Configuration cache cleared!
Configuration cached successfully!
gavin@gavin-VirtualBox:/var/www/hipengage$ **php artisan cache:clear**
Application cache cleared!

我重启了apache

我的.env文件如下所示:

APP_ENV=local
APP_DEBUG=false
APP_KEY=*********************************

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

我在这里缺少什么?任何帮助非常感谢。

2 个答案:

答案 0 :(得分:0)

APP_DEBUG用于限制应用程序通过浏览器显示的错误详细信息量。

不应混淆它控制日志文件中的日志记录。

仅在APP_DEBUGtrue时进行记录,然后您可以检查其值并执行以下操作:

if (config('app.debug'))
{
    Log::debug("some debug text");
}

或者您可以创建一个辅助函数,如:

function some_cool_name($log)
{
    if (config('app.debug')) {
        Log::debug($log);
    }
}

然后你可以在任何地方使用它:

some_cool_name('some debug text');

答案 1 :(得分:0)

去/config/app.php查看
'debug' => env('APP_DEBUG', 'false'),