Download the PHP package itafroma/snaglogger without Composer
On this page you can find all versions of the php package itafroma/snaglogger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download itafroma/snaglogger
More information about itafroma/snaglogger
Files in itafroma/snaglogger
Package snaglogger
Short Description A PSR-3 logger for Bugsnag
License MIT
Homepage https://marktrapp.com/projects/snaglogger
Informations about the package snaglogger
Snaglogger
Snaglogger is a PSR-3-compatible logger that sends log messages to Bugsnag.
Installation
Snaglogger can be added to your project via Composer:
Snaglogger uses semantic versioning. In general, you can pin to ^[MAJOR].0
and be confident you will not receive breaking changes during updates.
Usage
Quickstart
Snaglogger comes with a factory that instantiates the logger with sensible defaults:
Once instantiated, the logger will work as any other PSR-3-compatiable logger:
The PSR-3 context array
Snaglogger will send the contents of the $context
array to Bugsnag as metadata.
Additionally, Snaglogger treats two $context
keys as special:
- If the
exception
key contains an instance of an exception, Snaglogger will record the log message as an exception instead of an error. - If the
error-type
key is set, Snaglogger will use that as the error type. Otherwise, it will use the error severity.
Finally, Snaglogger will use the $context
array for placeholder replacement within the log message:
Severity levels
Bugsnag only supports three severity levels: info, warning, and error. However, PSR-3 requires loggers to support eight: emergency, alert, critical, error, warning, notice, info, and debug. By default, Snaglogger maps these additional log levels to the closest Bugsnag severity level:
- emergency → error
- alert → error
- critical → error
- error → error
- warning → warning
- notice → info
- info → info
- debug → info
Advanced usage
Some functionality can be customized by implementing certain interfaces:
- Custom severity mapping:
\Itafroma\Snaglogger\SeverityMapperInterface
- Custom message interpolation:
\Itafroma\Snaglogger\MessageInterpolatorInterface
More information can be found in those interfaces' inline documentation.
You may also want to customize the Bugsnag client.
To override Snaglogger's default functionality, you will need to:
- Implement your own concrete class of
\Itafroma\Snaglogger\LoggerFactoryInterface
, and/or - Call the
Logger
constructor directly.
For example:
Contributing
Contributions are welcome! Please see the separate CONTRIBUTING file for more information.
Copyright and license
This extension is copyright Mark Trapp. All Rights Reserved. It is made available under the terms of the MIT license. A copy of the license can be found in the LICENSE file.
Disclaimer
This project has no affliation with Bugsnag in any way. Additional disclaimers can be found in the LICENSE file.