Skip to content

ottaviano/messenger-logger-sender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoggerSender for Symfony Messenger

Build Status

Symfony Messenger ❤️

LoggerSender requires a Psr\LoggerInterface object, and can be used with monolog/monolog lib for example which provides a lot of handlers like StreamHandler, RavenHandler, SlackHandler, etc.

Installation

composer require ottaviano/messenger-logger-sender

Beta

This lib is in Beta version as the component Messenger is in Beta too.

Example

Monolog & StreamHandler

$loggerSender = new \Ottaviano\Messenger\LoggerSender(
    new \Monolog\Logger(
        'default', 
        [
            new \Monolog\Handler\StreamHandler(STDOUT),
        ]
    )
);

$middlewares = [
    new \Symfony\Component\Messenger\Middleware\SendMessageMiddleware(
        new \Symfony\Component\Messenger\Transport\Sender\SendersLocator([
            '*' => [$loggerSender],
        ])
    ),
];

$bus = new \Symfony\Component\Messenger\MessageBus($middlewares);

$message = new class {
    function __toString() {
        return 'Hey!';
    }
};

$bus->dispatch($message);

it will output:

[2018-11-03 18:26:26] default.INFO: Hey! {"message":"[object] (class@anonymous\u0000/Users/dimitri/Projects/test-messenger/script4.php0x101422223: Hey!)"} []