Я использую стороннюю библиотеку, которая предоставляет конструктор, который ожидает экземпляр Psr\Log\LoggerInterface
. Конструктор в этом коде выглядит следующим образом:
public function __construct(
$configuration = null,
\Psr\Log\LoggerInterface $logger = null
)
{
В моем приложении Laravel 5.5 я написал поставщика услуг, чтобы настроить эту библиотеку для меня, и я получил доступ к LoggerInterface
для нее: используя Laravel s Log::getMonolog()
:
$connection_manager = ConnectionManager::factory(
config('the_lib_config'),
\Log::getMonolog()
);
С изменениями в журналировании, которые произошли в Laravel 5.6, метод getMonolog
исчез. Я понимаю, почему этого метода сейчас нет, но мне интересно, что это за предписанный метод, чтобы получить то, что нужно этому классу, чтобы он мог регистрироваться в контексте приложения Laravel (со всеми новыми Laravel возможностями ведения журналов) ).