diff --git a/README.md b/README.md index 9a6cf98..1b7af5e 100644 --- a/README.md +++ b/README.md @@ -1081,59 +1081,16 @@ Full example Echo GRPC service you can find [here](https://github.com/spiral/roa ------ ### Logger -Logger provides a simple way to send log messages to RoadRunner. - -## Configuration - -You can register `Spiral\RoadRunnerBridge\Logger\Handler` in `app/config/monolog.php` config: - -```php - [ - 'roadrunner' => [ - Handler::class, - // or - new Autowire(Handler::class, ['formatter' => "%message% foo"]), - ] - ] -]; -``` +Logger provides a simple way to send log messages to RoadRunner. Also you can define a default message format in `.env` ```dotenv LOGGER_FORMAT=%message% foo ``` -Handler registration example in a custom bootloader -```PHP -use Spiral\Boot\Bootloader; -use Spiral\Monolog\Bootloader\MonologBootloader; -use Spiral\RoadRunnerBridge\Logger\Handler; - -final class SomeBootloader extends Bootloader -{ - public function init(MonologBootloader $monolog, Handler $handler): void - { - $monolog->addHandler($handler); - } -} - -``` - ## Usage ```PHP - [self::class, 'initHandler'], ]; + public function init(MonologBootloader $bootloader, Handler $handler): void + { + $bootloader->addHandler('roadrunner', $handler); + } + private function initHandler(Logger $logger, RoadRunnerMode $mode, EnvironmentInterface $env): Handler { $fallbackHandler = $mode === RoadRunnerMode::Unknown ? new ErrorLogHandler() : null; diff --git a/tests/src/Bootloader/LoggerBootloaderTest.php b/tests/src/Bootloader/LoggerBootloaderTest.php index 68e6ecb..3ee6940 100644 --- a/tests/src/Bootloader/LoggerBootloaderTest.php +++ b/tests/src/Bootloader/LoggerBootloaderTest.php @@ -4,6 +4,7 @@ namespace Spiral\Tests\Bootloader; +use Spiral\Monolog\Config\MonologConfig; use Spiral\RoadRunnerBridge\Logger\Handler; use Spiral\Tests\TestCase; @@ -13,4 +14,12 @@ public function testHandlerBinding(): void { $this->assertContainerBoundAsSingleton(Handler::class, Handler::class); } + + public function testHandlerIsRegisteredInMonolog(): void + { + $config = $this->getConfig(MonologConfig::CONFIG); + + $this->assertArrayHasKey('roadrunner', $config['handlers']); + $this->assertInstanceOf(Handler::class, $config['handlers']['roadrunner'][0]); + } }