webclient/ext-log 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

webclient/ext-log

Composer 安装命令:

composer require webclient/ext-log

包简介

Logging extension for PSR-18 HTTP client

README 文档

README

Latest Stable Version Total Downloads License PHP

webclient/ext-log

Logging decorator for PSR-18 HTTP clients.

Install

Install this package, your favorite psr-3 implementation and your favorite psr-18 implementation.

composer require webclient/ext-log:^1.0

Using

<?php

use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Log\LoggerInterface;
use Webclient\Extension\Log\Client;

/** 
 * @var ClientInterface $client 
 * @var LoggerInterface $logger 
 */
$http = new Client($client, $logger);

/** @var RequestInterface $request */
$response = $http->sendRequest($request);

Custom Request ID

You may implement \Webclient\Extension\Log\IdGenerator\IdGenerator for your Request ID in logs

<?php

use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Log\LoggerInterface;
use Webclient\Extension\Log\Client;
use Webclient\Extension\Log\IdGenerator\IdGenerator;

/** 
 * @var ClientInterface $client 
 * @var LoggerInterface $logger 
 * @var IdGenerator $idGenerator 
 */
$http = new Client($client, $logger, $idGenerator);

/** @var RequestInterface $request */
$response = $http->sendRequest($request);

Custom log output

You may implement \Webclient\Extension\Log\Formatter\Formatter for your Request/Response output in logs

<?php

use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Log\LoggerInterface;
use Webclient\Extension\Log\Client;
use Webclient\Extension\Log\Formatter\Formatter;

/** 
 * @var ClientInterface $client 
 * @var LoggerInterface $logger 
 * @var Formatter $formatter 
 */
$http = new Client($client, $logger, null, $formatter);

/** @var RequestInterface $request */
$response = $http->sendRequest($request);

Log levels

You may set your log levels

<?php

use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use Webclient\Extension\Log\Client;

/** 
 * @var ClientInterface $client 
 * @var LoggerInterface $logger 
 */
$http = new Client(
    $client,
    $logger,
    null,
    null,
    LogLevel::INFO, // Request log level
    LogLevel::INFO, // Info responses (status codes 1xx)
    LogLevel::INFO, // Success responses (status codes 2xx)
    LogLevel::INFO, // Redirect responses (status codes 3xx)
    LogLevel::EMERGENCY, // Client error responses (status codes 4xx)
    LogLevel::ERROR, // Server error responses (status codes 5xx)
    LogLevel::WARNING // Base HTTP client exceptions
);

/** @var RequestInterface $request */
$response = $http->sendRequest($request);

统计信息

  • 总下载量: 39
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 1

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-06-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固