A library with logging enhancement. Including:
-
Overriding
Logfacade- It extends default Laravel
Logfacade with logging adding class path and tracking id into context.
- It extends default Laravel
-
LogglyHandlerclass- It extends monolog's LogglyHandler with tags support
-
DatadogHandlerclass- It supports Datadog Logs
composer require onramplab/laravel-log-enhancement- use Datadog APM to connect php logs and traces
curl -LO https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php sudo php datadog-setup.php --php-bin=allThe log json will look like this:
{ "message": "Test", "context": { "class_path": "App\\Fake", "tracking_id": "652c3456-1a17-42b8-9fa7-9bee65e655eb" }, "level": 200, "level_name": "INFO", "channel": "local", "extra": {}, "timestamp": "2021-01-04T22:47:56.598608-0800" }You can adding following block into config/logging.php.
use Monolog\Formatter\LogglyFormatter; use Onramplab\LaravelLogEnhancement\Handlers\LogglyHandler; return [ //... 'channels' => [ //... 'loggly' => [ 'driver' => 'monolog', 'level' => 'info', 'handler' => LogglyHandler::class, 'handler_with' => [ 'token' => env('LOGGLY_TOKEN'), 'tags' => env('LOGGLY_TAGS'), ], 'formatter' => LogglyFormatter::class, ], ] ];You can adding following block into config/logging.php.
use Monolog\Formatter\JsonFormatter; use Onramplab\LaravelLogEnhancement\Handlers\DatadogHandler; return [ //... 'channels' => [ //... 'datadog' => [ 'driver' => 'monolog', 'level' => 'info', 'handler' => DatadogHandler::class, 'handler_with' => [ 'key' => env('DD_LOG_API_KEY'), 'region' => env('DD_LOG_REGION', 'us5'), 'attributes' => [ 'hostname' => gethostname(), 'source' => env('DD_LOG_SOURCE', 'laravel'), 'service' => env('DD_LOG_SERVICE'), 'tags' => env('DD_LOG_TAG'), ], ], 'formatter' => JsonFormatter::class, ], ] ];Run the tests with:
vendor/bin/phpunitPlease see CONTRIBUTING for details.
If you discover any security-related issues, please email kos.huang@onramplab.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.# laravel-log-enhancement