ottaviano/messenger-logger-sender

Symfony Messenger 组件的 LoggerSender

0.1.0 2018-11-03 18:06 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:52 UTC


README

Build Status

Symfony Messenger ❤️

LoggerSender 需要 Psr\LoggerInterface 对象,例如可以使用 monolog/monolog 库,该库提供了许多处理器,如 StreamHandlerRavenHandlerSlackHandler

安装

composer require ottaviano/messenger-logger-sender

测试版

此库处于测试版,因为组件 Messenger 也处于测试版。

示例

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);

它将输出

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