Получить экземпляр `LoggerInterface` в Laravel> = 5.6 (замена для` Log :: getMonolog () `)? - PullRequest
0 голосов
/ 06 апреля 2020

Я использую стороннюю библиотеку, которая предоставляет конструктор, который ожидает экземпляр 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 возможностями ведения журналов) ).

1 Ответ

0 голосов
/ 07 апреля 2020

Мой Google-Fu усилился в течение дня, и я нашел ответ, который искал в ответе @ermyril на https://laracasts.com/discuss/channels/laravel/getting-laravels-logger-instance?reply=530098

Ответ:

\Log::getLogger();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...