johnnynotsolucky/monolog-regex-handler

Regex log filter handler for Monolog

1.0.0 2021-01-21 21:17 UTC

This package is auto-updated.

Last update: 2024-04-22 13:11:47 UTC


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.