A PSR non-blocking file logger for react php. Uses monolog and provides non blocking monolog handlers.
composer require espressobyte/reactphp-monolog
Convenient loggers that create a quick monolog logger available as FileLogger
, RotatingFileLogger
and StdIOLogger
.
These loggers are just a quick short-cut to use the non blocking handlers specified below.
<?php
use Monolog\Logger;
use React\Stream\WritableResourceStream;
use EspressoByte\LoopUtil\FileLogger\Monolog\StreamHandler;
$logger = new Logger('name');
$loop = \React\EventLoop\Factory::create();
$logger->pushHandler(new StreamHandler(new WritableResourceStream(STDOUT, $loop)));
$logger->info('Message!!!');
$loop->run();
<?php
use Monolog\Logger;
use EspressoByte\LoopUtil\FileLogger\Monolog\StdIOHandler;
$logger = new Logger('name');
$loop = \React\EventLoop\Factory::create();
$logger->pushHandler(new StdIOHandler($loop));
$logger->info('Message!!!');
$loop->run();
<?php
use Monolog\Logger;
use EspressoByte\LoopUtil\FileLogger\Monolog\FileHandler;
$logger = new Logger('name');
$loop = \React\EventLoop\Factory::create();
$logFile = __DIR__ . '/test.log';
// expect log file like test-1999-12-31.log
$logger->pushHandler(new FileHandler($loop, $logFile));
$logger->info('Message!!!');
$loop->run();
./vendor/bin/phpunit
Please see CHANGELOG for more information what has changed recently.
If you discover any security related issues, please email mtajulasri@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.