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许可证