halloverden/symfony-doctrine-sql-logger-bundle

为 Symfony Doctrine DBAL 提供更好的 SQL 查询日志。

2.0.0 2022-09-12 15:10 UTC

This package is auto-updated.

Last update: 2024-09-25 15:48:06 UTC


README

为 Symfony Doctrine DBAL 提供更好的 SQL 查询日志。

安装

确保已全局安装 Composer,如 Composer 文档中的安装章节所述。

使用 Symfony Flex 的应用程序

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

$ composer require halloverden/symfony-doctrine-sql-logger-bundle

不使用 Symfony Flex 的应用程序

步骤 1: 下载 Bundle

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

$ composer require halloverden/symfony-doctrine-sql-logger-bundle

步骤 2: 启用 Bundle

然后,通过将其添加到项目 config/bundles.php 文件中注册的 Bundle 列表来启用 Bundle

// config/bundles.php

return [
    // ...
    HalloVerden\DoctrineSqlLoggerBundle\HalloVerdenDoctrineSqlLoggerBundle::class => ['all' => true],
];

配置

默认情况下,您只需引入此 Bundle,它将记录默认连接上所有超过 100 毫秒的查询的执行时间。

hallo_verden_doctrine_sql_logger:
    loggers:
        HalloVerden\DoctrineSqlLoggerBundle\Loggers\QueryExecutionTimeLogger:
            enabled: true
            connections:
                - default

将启用设置为 false 以禁用 QueryExecutionTimeLogger。并且您可以添加要启用日志记录的连接。

您还可以通过在配置中添加它们来添加自己的日志记录器。

QueryExecutionTimeLogger

如果您想使用 QueryExecutionTimeLogger 记录查询的回溯,请将以下内容添加到 services.yaml 中

HalloVerden\DoctrineSqlLoggerBundle\Loggers\QueryExecutionTimeLogger:
    calls:
        - ['setEnableBacktrace', [true]]

如果您想更改日志记录的执行时间阈值,请将以下内容添加到 services.yaml 中

HalloVerden\DoctrineSqlLoggerBundle\Loggers\QueryExecutionTimeLogger:
    calls:
        - ['setExecutionTimeThreshold', [150]]