我想重寫哪裏流明寫入日誌,從'存儲/日誌/ lumen.log'到'php:// stderr'。下面的代碼是我目前正在嘗試的代碼,並且不能按預期工作。覆蓋日誌接口容器綁定流明5.0
沒有錯誤發生,我的日誌仍寫入默認位置(在存儲/日誌文件夾中)。
當我做:
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));
}
}
這是一個更好的主意,謝謝 - 雖然實際上並沒有回答具體的問題,但它確實解決了問題針對的問題 – Robin