nvanheuverzwijn/monolog-logdna

Mezmo/Logdna 对 Monolog 的处理器

3.2.2 2024-02-08 21:38 UTC

This package is auto-updated.

Last update: 2024-09-11 01:38:59 UTC


README

Monolog 后端用于 mezmo/logdna。此后端使用 mezmo/logdna 摄入 API

安装

使用 compose 安装 composer require nvanheuverzwijn/monolog-logdna

使用方法

$logger = new \Monolog\Logger('general');
$logdnaHandler = new \Zwijn\Monolog\Handler\LogdnaHandler('your-key', 'myappname', \Monolog\Logger::DEBUG);
$logger->pushHandler($logdnaHandler); 

# Sends debug level message "mylog" with some related meta-data
$logger->debug(
  "mylog",
  [
    'logdna-meta-data-field1' => ['value1' => 'value', 'value2' => 5],
    'logdna-meta-data-field2' => ['value1' => 'value']
  ]
);

实时示例

创建以下 php 脚本 test.php。在运行此脚本之前,请务必设置摄入密钥。

<?php

include './vendor/autoload.php';

$INGESTION_KEY='';
\date_default_timezone_set('America/Montreal');

$logger = new \Monolog\Logger('general');
$logdnaHandler = new \Zwijn\Monolog\Handler\LogdnaHandler($INGESTION_KEY, 'appname', \Monolog\Logger::DEBUG);
$logger->pushHandler($logdnaHandler);
$logger->debug('mylog');

使用以下 docker 命令执行。

docker run -it --rm -v "${PWD}":/usr/src/myapp -w /usr/src/myapp php:8-cli php test.php

您应该在与摄入密钥绑定的 mezmo/logdna 账户中看到带有调试级别的 'mylog' 日志。

与 Monolog 处理器一起使用

Monolog 处理器可能会向日志记录中添加一些额外数据。除非为空,否则这些数据将以 monolog_extra 属性的形式出现在 logdna 日志元数据中。如果日志记录的 context 中已存在此类属性,则将被覆盖。

时间漂移计算

默认情况下,处理器将 now 参数发送到 摄入 API,用于计算时间漂移。您可以通过以下方式禁用发送此参数

$logdnaHandler->setIncludeRequestTime(false);

许可证

此项目采用 LGPL3.0 许可。有关详细信息,请参阅 LICENSE 文件。

版本

1.x 是 php5 与 monolog 1。

2.x 是 php7 和 php8 与 monolog 2。

3.x 是 php8 与 monolog 3。

测试

要测试项目,只需调用 makemake test。所有操作都在 docker 容器中运行。

清理

要清理系统,请调用 make clean。请注意,如果您使用与此项目相同的 docker 镜像,可能不需要清理。有关更多信息,请参阅 Makefile

代码检查

要检查代码问题,请运行 make cs-check。要修复它们,可以手动修复或运行 make cs-fix