请求的API平台日志记录头

我在生产服务器上遇到身份验证问题,该问题很可能与代码无关,而是IT配置问题...

为了证明这一点,我想检查API平台在尝试获取数据时是否接收到Authorization标头我没有在API平台文档中找到有关日志的任何信息。知道我无权访问实际的控制器代码,因为它仅使用实体上的APIRessource注释进行配置,因此使用Symfony日志记录系统记录API请求及其标头的正确方法是什么

需要明确的是,一切在本地都可以正常工作,我不是在这里寻找问题的解决方案,而只是使用API​​平台更改日志格式或将日志添加到传入请求的一种干净方法。

伊霍尔·科斯特罗夫(Ihor Kostrov)

您可以为kernel.terminate事件创建一个侦听器,该事件将记录请求和响应数据。这样的事情。

monolog.yaml

monolog:
  handlers:
    request_log:
      type: rotating_file
      max_files: 90
      level: debug
      path: '%kernel.logs_dir%/request/%kernel.environment%.log'
      channels: request_log

services.yaml

App\EventListener\LogRequestAndResponseEventListener:
    tags:
        - { 'name': 'monolog.logger', 'channel': 'request_log' }
        - { 'name': 'kernel.event_listener', 'event': 'kernel.terminate', 'method': 'onKernelTerminate' }

听众

namespace App\EventListener;

use Psr\Log\LoggerInterface;
use Symfony\Component\HttpKernel\Event\TerminateEvent;

class LogRequestAndResponseEventListener
{
    private $logger;

    public function __construct(LoggerInterface $logger)
    {
        $this->logger = $logger;
    }

    public function onKernelTerminate(TerminateEvent $event)
    {
        $request = $event->getRequest();
        $response = $event->getResponse();

        $this->logger->info('data', [
            'route' => $request->getMethod() . ' ' . $request->getRequestUri(),
            'status' => $response->getStatusCode(),
            'request body' => $request->request->all(),
            'response' => json_decode($response->getContent(), true),
            'headers' => $request->headers->all(),
        ]);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

抑制特定ActiveRecord请求的Rails日志记录

来自分类Dev

Drop-wizard请求响应日志记录

来自分类Dev

套接字请求无日志记录

来自分类Dev

Python日志记录:属于一个请求的组日志

来自分类Dev

使用日志记录模块有选择地记录请求

来自分类Dev

Retrofit 2.x:用于请求和响应的日志头

来自分类Dev

配置AWS API Gateway的日志记录

来自分类Dev

远程日志记录:rsyslog与RESTful API

来自分类Dev

Clojure REST API:日志记录问题

来自分类Dev

我如何记录HTTP请求的主机标头(Spring Boot)

来自分类Dev

记录所有Firefox HTTP请求标头?

来自分类Dev

Sails.js HOWTO:实现HTTP请求的日志记录

来自分类Dev

如何禁用Django和uWSGI中的请求日志记录?

来自分类Dev

在不同的线程上执行每个日志记录请求

来自分类Dev

过滤node.js中的传出请求以进行日志记录

来自分类Dev

日志记录:如何从请求库中过滤INFO消息?

来自分类Dev

在 postgres 中禁用(或修剪)bytea 请求的日志记录

来自分类Dev

在 GetAsync 完成之前很久就结束请求的奇怪 HttpClient 日志记录

来自分类Dev

记录进度、错误、错误、请求等日志的最佳网站

来自分类Dev

Apache http 2.2.29不记录任何内容以访问RHEL 5平台上的日志

来自分类Dev

Apache http 2.2.29不记录任何内容以访问RHEL 5平台上的日志

来自分类Dev

减少HTTP请求,contextmanager或自定义日志记录级别的日志噪音?

来自分类Dev

Python HTTP请求和调试级别日志记录到日志文件

来自分类Dev

减少HTTP请求,contextmanager或自定义日志记录级别的日志噪音?

来自分类Dev

如何在Rails中记录API请求?

来自分类Dev

从Docker容器记录PHP API请求信息

来自分类Dev

循环访问 API 请求以记录值

来自分类Dev

使用loguru-在Fastapi应用上记录请求参数的Python日志记录

来自分类Dev

在使用时间轮转记录器创建的每个日志文件中写入标头

Related 相关文章

  1. 1

    抑制特定ActiveRecord请求的Rails日志记录

  2. 2

    Drop-wizard请求响应日志记录

  3. 3

    套接字请求无日志记录

  4. 4

    Python日志记录:属于一个请求的组日志

  5. 5

    使用日志记录模块有选择地记录请求

  6. 6

    Retrofit 2.x:用于请求和响应的日志头

  7. 7

    配置AWS API Gateway的日志记录

  8. 8

    远程日志记录:rsyslog与RESTful API

  9. 9

    Clojure REST API:日志记录问题

  10. 10

    我如何记录HTTP请求的主机标头(Spring Boot)

  11. 11

    记录所有Firefox HTTP请求标头?

  12. 12

    Sails.js HOWTO:实现HTTP请求的日志记录

  13. 13

    如何禁用Django和uWSGI中的请求日志记录?

  14. 14

    在不同的线程上执行每个日志记录请求

  15. 15

    过滤node.js中的传出请求以进行日志记录

  16. 16

    日志记录:如何从请求库中过滤INFO消息?

  17. 17

    在 postgres 中禁用(或修剪)bytea 请求的日志记录

  18. 18

    在 GetAsync 完成之前很久就结束请求的奇怪 HttpClient 日志记录

  19. 19

    记录进度、错误、错误、请求等日志的最佳网站

  20. 20

    Apache http 2.2.29不记录任何内容以访问RHEL 5平台上的日志

  21. 21

    Apache http 2.2.29不记录任何内容以访问RHEL 5平台上的日志

  22. 22

    减少HTTP请求,contextmanager或自定义日志记录级别的日志噪音?

  23. 23

    Python HTTP请求和调试级别日志记录到日志文件

  24. 24

    减少HTTP请求,contextmanager或自定义日志记录级别的日志噪音?

  25. 25

    如何在Rails中记录API请求?

  26. 26

    从Docker容器记录PHP API请求信息

  27. 27

    循环访问 API 请求以记录值

  28. 28

    使用loguru-在Fastapi应用上记录请求参数的Python日志记录

  29. 29

    在使用时间轮转记录器创建的每个日志文件中写入标头

热门标签

归档