67

GitHub - egeniq/monolog-gdpr: Some Monolog processors that help with GDPR compli...

 6 years ago
source link: https://github.com/egeniq/monolog-gdpr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

monolog-gdpr Build Status

Some Monolog processors that will help in relation to the security requirements under GDPR. These processors will replace data with their SHA-1 equivalent, allowing you still to search logs

WARNING: These processors will json serialise your $context. This may cause some undesired side-effects.

Installation

Install the latest version with

$ composer require egeniq/monolog-gdpr

Salted hashes

This library supports salted hashes using processor->setSalt(<salt>). To compute your hashed value you could use the following bash command:

$ echo -n '[email protected]<YourSalt>' | openssl sha1

RedactEmailProcessor

Replaces all e-mail addresses by their SHA-1 hash.

Usage:

<?php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Egeniq\Monolog\Gdpr\Processor\RedactEmailProcessor;

$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));

$processor = new RedactEmailProcessor();
// optionally you may configure a salt:
$processor->setSalt('h@tsefl@ts!');
$log->pushProcessor($processor);

$log->log(Logger::DEBUG, 'This is a test for [email protected]', ['foo' => ['bar' => '[email protected]']]);

RedactIpProcessor

Replaces all ipv4 addresses by their SHA-1 hash.

Usage:

<?php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Egeniq\Monolog\Gdpr\Processor\RedactIpProcessor;

$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));

$processor = new RedactIpProcessor();

// optionally you may configure a salt:
$processor->setSalt('h@tsefl@ts!');
$log->pushProcessor($processor);

$log->log(Logger::DEBUG, 'This is a test for 127.0.0.1', ['foo' => ['bar' => '127.0.0.1']]);

License

Package is licensed under the MIT License - see the LICENSE file for details


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK