bugsnag / bugsnag-psr-logger
官方Bugsnag PHP PSR日志记录器。
v2.0.0
2022-01-12 11:07 UTC
Requires
- php: >=8.0
- bugsnag/bugsnag: ^3.10
- psr/log: ^2.0|^3.0
Requires (Dev)
- graham-campbell/testbench-core: ^1.1
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^9.4.3
README
Bugsnag PHP PSR日志记录器是对Fig PSR日志标准的实现,它提供了一个标准接口将日志发送到Bugsnag。
入门
安装
将bugsnag/bugsnag-psr-logger
添加到您的composer.json
文件中。
配置
这个库提供了一个日志接口,但它使用bugsnag-php通知库作为基础。所有配置应按照官方bugsnag-php文档中的描述进行。
使用日志记录器
库提供了两个日志记录器,分别是BugsnagLogger
和MultiLogger
。
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。