【问题标题】:Laravel keeps logging even though APP_DEBUG=false即使 APP_DEBUG=false,Laravel 也会继续记录
【发布时间】:2017-03-29 10:25:04
【问题描述】:

由于某种原因,在我的 .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

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

【问题讨论】:

  • if (APP_DEBUG == true) { Log::debug("testmessage : BEGIN"); } ?

标签: php logging laravel-5 environment-variables


【解决方案1】:

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');

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-04-12
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      相关资源
      最近更新 更多