Жало Http не входя в Laravel с монологом - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть этот пример:

use Monolog\Logger;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use GuzzleHttp\MessageFormatter;

    public function getApiTest()
    {

        $stack = HandlerStack::create();
        $stack->push(
            Middleware::log(
                new Logger('Logger'),
                new MessageFormatter('{req_body} - {res_body}')
            )
        );

        $client = new \GuzzleHttp\Client(
            [
                'base_uri' => 'http://apitesting.test/api/',
                'handler' => $stack,
            ]
        );

        echo (string) $client->get('apitest')->getBody();
    }

Что должно регистрировать запрос и ответ, насколько я понимаю.

У меня есть собственный канал регистрации, созданный для входа в базу данных. Но теперь я отключил его и вернулся к ведению журнала файлов Laravel - но он все еще не регистрирует запрос / ответ Guzzle.

1 Ответ

0 голосов
/ 17 апреля 2019

Кажется, что первый параметр Middleware::log() должен быть каналом журнала, который вы пытаетесь использовать.Например:

$stack = HandlerStack::create();

$logChannel = app()->get('log')->channel('my-custom-channel');

$stack->push(
    Middleware::log(
        $logChannel,
        new MessageFormatter('{req_body} - {res_body}')
    )
);

Это сообщит промежуточному программному обеспечению, какой канал журнала вы пытаетесь использовать.

...