ankane / logstop
Keep personal data out of your logs
v0.1.2
2023-02-11 19:00 UTC
Requires
- php: >= 8.0
Requires (Dev)
- monolog/monolog: ^3
- phpunit/phpunit: ^9
This package is not auto-updated.
Last update: 2024-11-03 03:10:23 UTC
README
🔥 Keep personal data out of your logs
$logger->info('Hi test@example.org!'); # Hi [FILTERED]!
By default, scrubs:
- email addresses
- phone numbers
- credit card numbers
- Social Security numbers (SSNs)
- passwords in URLs
Works with context as well
$logger->info('Hi', ['email' => 'test@example.org']); # Hi {"email":"[FILTERED]"}
Works even when sensitive data is URL-encoded with plus encoding
Installation
Run:
composer require ankane/logstop
And add it to your Monolog logger:
$logger->pushProcessor(new Logstop\Processor());
Options
To scrub IP addresses (IPv4), use:
new Logstop\Processor(ip: true);
To scrub MAC addresses, use:
new Logstop\Processor(mac: true);
Disable default rules with:
new Logstop\Processor( email: false, phone: false, creditCard: false, ssn: false, urlPassword: false );
Notes
- To scrub existing log files, check out scrubadub
- To scan for unencrypted personal data in your database, check out pdscan
History
View the changelog
Contributing
Everyone is encouraged to help improve this project. Here are a few ways you can help:
- Report bugs
- Fix bugs and submit pull requests
- Write, clarify, or fix documentation
- Suggest or add new features
To get started with development:
git clone https://github.com/ankane/logstop-php.git cd logstop-php composer install composer test