thereddot/monolog-extra-bundle

此包已被废弃,不再维护。没有建议的替代包。

带有额外处理器和记录器以记录请求/响应的 Symfony 扩展包

安装次数: 40,638

依赖关系: 0

建议者: 0

安全性: 0

星标: 2

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

v4.2.1 2021-02-19 17:33 UTC

This package is auto-updated.

Last update: 2021-11-19 19:14:06 UTC


README

❗ 此包已被废弃,不再积极维护。

Total Downloads Latest stable Version

带有额外处理器和记录器以记录请求/响应/命令的 Symfony 扩展包。

安装

使用 Symfony Flex 的应用程序

打开命令行,进入您的项目目录并执行

$ composer require thereddot/monolog-extra-bundle

不使用 Symfony Flex 的应用程序

步骤 1:下载包

打开命令行,进入您的项目目录并执行以下命令以下载此包的最新稳定版本

$ composer require thereddot/monolog-extra-bundle

此命令需要您全局安装 Composer,如 Composer 文档中的 安装章节 所述。

步骤 2:启用包

然后,通过将其添加到项目 app/AppKernel.php 文件中注册的包列表中来启用该包

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new TheRedDot\MonologExtraBundle\TheRedDotMonologExtraBundle(),
        );
        // ...
    }

    // ...
}

用法

处理器

此包提供几个处理器

  • 用户
  • 会话 ID
  • 请求 ID
  • 附加信息

用户

UserProcessor 在每个日志条目中添加有关当前用户的数据。

the_red_dot_monolog_extra:
    processor:
        user: true

默认提供程序 SymfonyUserProvider 返回

  • 匿名,当没有用户登录时
  • 当前登录用户的用户名
  • cli

您可以自定义提供程序以将用户名替换为另一个属性

    TheRedDot\MonologExtraBundle\Provider\User\SymfonyUserProvider:
        arguments:
            $className: App\Entity\User
            $propertyName: myCustomProperty

您可以创建自己的提供程序,通过创建一个实现 TheRedDot\MonologExtraBundle\Provider\User\UserProviderInterface 的服务来实现。

the_red_dot_monolog_extra:
    provider:
        user: your_own_provider_service_id

会话 ID

在每个日志条目中添加会话 ID。

the_red_dot_monolog_extra:
    session_start: false
    processor:
        session_id: true

您可以通过创建一个实现 TheRedDot\MonologExtraBundle\Provider\Session\SessionIdProviderInterface 的服务来创建自己的提供程序。

the_red_dot_monolog_extra:
    provider:
        session_id: your_own_provider_service_id

请求 ID

在每个日志条目中添加请求 ID。

the_red_dot_monolog_extra:
    processor:
        request_id: true

此包包含 2 个提供程序

  • UniqidProvider(默认):使用 uniqid
  • ServerRequestIdProvider:从 $_SERVER 获取
    • 您需要传递 $_SERVER 字段的名称,例如 Apache 的 mod_unique_id 的示例:UNIQUE_ID

您可以通过创建一个实现 TheRedDot\MonologExtraBundle\Provider\RequestId\RequestIdProviderInterface 的服务来创建自己的提供程序。

the_red_dot_monolog_extra:
    provider:
        request_id: your_own_provider_service_id

附加信息

在每个日志条目中添加自定义数据。

the_red_dot_monolog_extra:
    processor:
        additions:
            type: symfony
            application: the best symfony application
            locale: "%locale%"
            environment: "%kernel.environment%"

记录器

根据请求

创建带有请求数据的日志条目。

根据响应

创建带有响应数据的日志条目。

根据控制台命令

在任何命令执行前创建日志条目。

根据控制台异常

在控制台发生异常时创建日志条目。

将请求ID添加到响应中

在响应头中添加上一个处理器的请求ID。

HTTP/1.1 302 Found
X-Request-ID: 57c5f5e842b10

配置参考

配置参考,以获取可用的配置选项。

致谢

源自 Hexanet/MonologExtraBundle.

许可证

MonologExtraBundle 使用 MIT许可证 许可。