netflie/monolog-stackdriver-handler

Monolog 的 Google Stackdriver 记录处理程序。

v0.0.1 2019-11-05 22:12 UTC

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
);

版本

此组件不会在任何次要或补丁版本中引入不兼容的更改。我们将优先解决问题和请求。