netflie / monolog-stackdriver-handler
Monolog 的 Google Stackdriver 记录处理程序。
v0.0.1
2019-11-05 22:12 UTC
Requires
- php: >=7.0.0
- google/cloud: >=0.5
- monolog/monolog: >=1.21
Requires (Dev)
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2024-09-08 22:35:56 UTC
README
此包允许您将 Monolog 记录数据存储到 Google Cloud Platform(Google Stackdriver 记录服务)。
此包还允许您启用批量选项,将多个日志批量到一个单一的 RPC 调用中。
安装
首先,安装 PHP 的首选依赖项管理器 Composer。
现在安装此组件
$ composer require netflie/monolog-stackdriver-handler
配置
require 'vendor/autoload.php'; use Netflie\MonologStackdriverHandler\MonologStackdriverHandler; use Monolog\Logger; // See Google\Cloud\Logging\LoggingClient::__construct $loggingClientOptions = [ 'keyFilePath' => '/path/to/service-account-key-file.json' ]; $monologStackdriverHandler = new MonologStackdriverHandler('my_log', $loggingClientOptions); $monologLogger = new Logger('name'); $monologLogger->pushHandler($monologStackdriverHandler); // Send records to Google Stackdriver Logging $monologLogger->notice('Foo'); $monologLogger->error('Bar');
启用批量选项
处理程序同步发送日志。这意味着每次您发出日志时,都会将 RPC 延迟添加到用户请求中。特别是如果您在单个请求中发出多个日志,增加的延迟将会显著。您可能想避免这种情况。
以下代码创建了一个 PSR-3 处理程序记录器,该记录器将多个日志批量到一个单一的 RPC 调用中
$loggerOptions = [ 'batchEnabled' => true, ]; $monologStackdriverHandler = new MonologStackdriverHandler( 'my_log', $loggingClientOptions, $loggerOptions );
版本
此组件不会在任何次要或补丁版本中引入不兼容的更改。我们将优先解决问题和请求。