adityasetiono / api-logger-bundle

提供 REST API 请求记录和性能分析的工具

安装: 248

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 3

类型:symfony-bundle

1.2.1 2017-11-20 00:11 UTC

This package is auto-updated.

Last update: 2024-09-14 19:25:56 UTC


README

Build Status

##关于

SmartGamma Symfony2 REST API Logger bundle 是我们用来创建 SmartGamma Symfony2 REST APIs 的工具。它允许对 API 的入站调用进行详细记录(可以分离日志),跟踪持续时间、请求和响应体。作为附加功能,它允许您分析 API 并跟踪慢速 API 调用。

##安装

  1. 使用 Composer 安装 GammaApiLoggerBundle,只需将以下内容添加到您的 composer.json 文件中
// composer.json
{
    // ...
    require: {
        // ...
        "gamma/api-logger-bundle": "dev-master"
    }
}

然后,您可以从您的 composer.json 文件所在的目录运行 Composer 的 update 命令,以安装新的依赖项

php composer.phar update gamma/api-logger-bundle

现在,Composer 将自动下载所有必需的文件,并为您安装它们。接下来,您需要更新您的 AppKernel.php 文件,并注册新的包

<?php

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new Gamma\ApiLoggerBundle\GammaApiLoggerBundle(),
    // ...
);

##配置

默认情况下,该包已启用,慢速 API 调用限制为 1000ms。要更改这些设置,请将以下内容添加到您的 parameters.yml

// parameters.yml
   gamma_logger_enabled: true
   gamma_logger_slow_time_limit: 1000

或添加到 config.yml

// config_dev.yml
parameters:
   gamma_logger_enabled: true
   gamma_logger_slow_time_limit: 500
// config_prod.yml
parameters:
   gamma_logger_enabled: false

##使用

一旦启用该包,它将开始记录所有 URI 前缀为 "/api/" 的请求,如示例所示

logging

所有 API 调用都将使用 "info" 级别记录。超过 "gamma_logger_slow_time_limit" 值的 API 调用将使用 "error" 级别记录

记录到单独的日志文件

为了将 API 调用记录到单独的文件,您可以使用以下 monolog 配置

// config.yml
monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      nested
            channels:     ["!api", "!api_slow"]
        api:
            type: stream
            path: %kernel.logs_dir%/%kernel.environment%.api.watch.log
            #level: info
            channels: ["api"]
        api_slow:
            type: stream
            path: %kernel.logs_dir%/%kernel.environment%.api.slow.log
            level: info
            channels: ["api_slow"]

##待办事项

  1. 使硬编码的前缀 "/api/" 可配置