johnnynotsolucky / monolog-regex-handler
Regex log filter handler for Monolog
1.0.0
2021-01-21 21:17 UTC
Requires
- php: ^7.2 || ^8
- monolog/monolog: ^2.0
Requires (Dev)
- phpunit/phpunit: ^8.5 || ^9.4
- squizlabs/php_codesniffer: ^3.5
README
Monolog handler for filtering out logs with regular expressions.
Requirements
- PHP ^7.2 or ^8
- Monolog ^2.0
Installation
composer require johnnynotsolucky/monolog-regex-handler:^1.0
Motivation
But why do I need to filter out logs when I control the logs?
Sometimes you don't 😢.
Usage
use Monolog\Logger; use Monolog\Handler\StreamHandler; use johnnynotsolucky\RegexHandler\Handler as RegexHandler; $handler = new RegexHandler([ '/^spam log$/', // Match on the message ['level_name', '/^(INFO|DEBUG)$/'], // Match on the level_name [['context', 'email'], '/@domain\.com$/'] // Match on context->email ]); $log = new Logger('test'); $log->pushHandler(new StreamHandler('php://stdout')); $log->pushHandler($handler); $log->warning('spam log'); // Discarded $log->info('message'); // INFO and DEBUG logs are discarded $log->warning('message', ['email' => 'someone@domain.com']); // Discarded on email
License
This project is licensed under the Parity License. Third-party contributions are licensed under Apache-2.0 and belong to their respective authors.
The Parity License is a copyleft license that, unlike the GPL family, allows you to license derivative and connected works under permissive licenses like MIT or Apache-2.0.