「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));
}
}