nvanheuverzwijn / monolog-logdna
Mezmo/Logdna 对 Monolog 的处理器
3.2.2
2024-02-08 21:38 UTC
Requires
- php: ^8.0
- monolog/monolog: >=3.0
Requires (Dev)
- phpunit/phpunit: >=8.3
- squizlabs/php_codesniffer: ^3.8
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。
测试
要测试项目,只需调用 make
或 make test
。所有操作都在 docker 容器中运行。
清理
要清理系统,请调用 make clean
。请注意,如果您使用与此项目相同的 docker 镜像,可能不需要清理。有关更多信息,请参阅 Makefile
。
代码检查
要检查代码问题,请运行 make cs-check
。要修复它们,可以手动修复或运行 make cs-fix
。