adityasetiono / api-logger-bundle
提供 REST API 请求记录和性能分析的工具
1.2.1
2017-11-20 00:11 UTC
Requires
- php: >=5.3
- symfony/framework-bundle: ~2.3|~3.0
Requires (Dev)
- memio/spec-gen: ^0.4
- phpspec/phpspec: ^2.5
This package is auto-updated.
Last update: 2024-09-14 19:25:56 UTC
README
##关于
SmartGamma Symfony2 REST API Logger bundle 是我们用来创建 SmartGamma Symfony2 REST APIs 的工具。它允许对 API 的入站调用进行详细记录(可以分离日志),跟踪持续时间、请求和响应体。作为附加功能,它允许您分析 API 并跟踪慢速 API 调用。
##安装
- 使用 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/" 的请求,如示例所示
所有 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"]
##待办事项
- 使硬编码的前缀 "/api/" 可配置