Mezmo/LogDNA handler for Monolog
Monolog backend for mezmo/logdna. This backend use mezmo/logdna ingestion api.
Install with 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']
]
);
Create the following php script test.php
. Don't forget to set the ingestion key prior to running this script.
<?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');
Execute it with the following docker command.
docker run -it --rm -v "${PWD}":/usr/src/myapp -w /usr/src/myapp php:8-cli php test.php
You should see the log 'mylog' with debug level in the mezmo/logdna account for which the ingestion key is bound to.
Monolog Processors may add some extra data to the log records.
This data will appear in logdna log metadata as property monolog_extra
unless it is empty.
If such a property already exists in the log record's context
, it will be overwritten.
By default, the handler sends now
parameter to the Ingestion API,
which is used to calculate time drift. You can disable sending this parameter via
$logdnaHandler->setIncludeRequestTime(false);
This project is licensed under LGPL3.0. See LICENSE
file for details.
1.x is php5 with monolog 1.
2.x is php7 and php8 with monolog 2.
3.x is php8 with monolog 3.
To test the project, simply call make
or make test
. Everything runs in docker container.
To clean your system, call make clean
. Take note that if you use the same docker images as this project, you might not want to clean. Read the Makefile
for more information.
To check for code smells, run make cs-check
. To fix them, either do it manually or run make cs-fix
.