Laravel 5.6中Monolog输出至Chrome控制台失效求助
快速解决Laravel 5.6中ChromePHP日志输出问题
嗨,这个问题我刚处理过,Laravel 5.6确实移除了Log::getMonolog()方法,不过替换方案很简单,直接改用getLogger()方法就能拿到底层的Monolog实例了。
你只需要把原来的代码改成这样:
use Monolog\Logger; use Monolog\Handler\ChromePHPHandler; use Monolog\Formatter\ChromePHPFormatter; use Illuminate\Support\Facades\Log; public function boot() { if (config('app.env') === 'local') { // 替换getMonolog()为getLogger() $monolog = Log::getLogger(); $infohandler = new ChromePHPHandler(Logger::INFO, false); $infohandler->setFormatter(new ChromePHPFormatter()); $monolog->pushHandler($infohandler); } }
额外注意点:
- 确保你已经安装了
ccampbell/chromephp包,如果没有的话,执行composer require ccampbell/chromephp安装即可(Monolog的ChromePHPHandler依赖这个包)。 - 本地环境下记得清一下缓存,避免配置不生效:
php artisan config:clear
这样修改后,你的日志应该就能正常输出到Chrome控制台了。
内容的提问来源于stack exchange,提问作者Kirk Olson
相关产品推荐
相关产品推荐

