【发布时间】:2015-05-14 19:46:01
【问题描述】:
我正在尝试覆盖 lumen 写入日志的位置,从“storage/logs/lumen.log”到“php://stderr”。以下代码是我目前正在尝试的,它没有按预期工作。
没有引发错误,我的日志仍然写入默认位置(在 storage/logs 文件夹中)。
当我这样做时:
dd(app('Psr\Log\LoggerInterface'));
我得到了默认实现。
我是否误解了文档,或者我的处理方式有误?
<?php namespace App\Providers;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
app()->instance('Psr\Log\LoggerInterface', new Logger('lumen', [$this->getMonologHandler()]));
}
public function getMonologHandler() {
return (new StreamHandler('php://stderr', Logger::DEBUG))->setFormatter(new LineFormatter(null, null, true, true));
}
}
【问题讨论】:
标签: php laravel laravel-5 lumen laravel-ioc