bugsnag/bugsnag-psr-logger

官方Bugsnag PHP PSR日志记录器。

v2.0.0 2022-01-12 11:07 UTC

README

StyleCI Status

Bugsnag PHP PSR日志记录器是对Fig PSR日志标准的实现,它提供了一个标准接口将日志发送到Bugsnag。

入门

安装

bugsnag/bugsnag-psr-logger添加到您的composer.json文件中。

配置

这个库提供了一个日志接口,但它使用bugsnag-php通知库作为基础。所有配置应按照官方bugsnag-php文档中的描述进行。

使用日志记录器

库提供了两个日志记录器,分别是BugsnagLoggerMultiLogger

BugsnagLogger会在收到严重性高于info的消息时自动向Bugsnag发送通知。这允许您通过直接将日志记录器与您所使用的框架接口来通知任何已处理的异常。确保日志记录器可以通过在创建时传入client对象与bugsnag-php库进行通信。

$bugsnag = Bugsnag\Client::make('YOUR-API-KEY-HERE');
$logger = new Bugsnag\PsrLogger\BugsnagLogger($bugsnag);

# Will send a notification to bugsnag
$logger->error('An error occurred');

如果您希望在BugsnagLogger之外使用另一个日志记录器,您将需要使用MultiLogger。通过在构造时传入一个包含Logger对象的数组,MultiLogger将在记录消息时依次调用每个传入的Logger

$logger = new Bugsnag\PsrLogger\BugsnagLogger($bugsnag);
$mySecondLogger = new Logger();
$multiLogger = new Bugsnag\PsrLogger\MultiLogger([$logger, $mySecondLogger]);

# Will log to $mySecondLogger and send a notification to bugsnag through $logger
$multiLogger->error('An error occurred');

将日志发送到Bugsnag的默认级别是Psr\Log\LogLevel::NOTICE。这可以通过使用setNotifyLevel函数进行覆盖。

$logger = new Bugsnag\PsrLogger\BugsnagLogger($bugsnag);

# Will not send a notification to bugsnag by default
$logger->info('Some interesting information');

$logger->setNotifyLevel(Psr\Log\LogLevel::INFO);

# Will send a notification to bugsnag
$logger->info('Some more interesting information');

有关将日志记录器集成到特定框架的更多信息,请参阅bugsnag-php文档中提供的单独设置信息。

贡献

欢迎所有贡献者!有关如何构建、测试和发布bugsnag-psr-logger的信息,请参阅我们的贡献指南。您可以自由评论现有问题以获取澄清或起点。

许可证

Bugsnag PSR日志记录器是免费软件,根据MIT许可证发布。有关详细信息,请参阅LICENSE.txt