ksardv / php-log-sanitizer
A PHP package to hide or mask sensitive data in logs.
v1.0.1
2025-06-15 11:32 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^12.1
README
A lightweight, framework-agnostic PHP library for automatically masking sensitive data in logs. Useful for privacy compliance (e.g., GDPR, PCI DSS) and secure debugging.
- ✅ Framework-agnostic — works with any PHP project
- ✅ Format-aware — supports plain text, JSON, XML
- ✅ Regex-based masking with override support
- ✅ Ships with secure defaults (emails, passwords, API keys, etc.)
- ✅ Configurable via external
mask.php
pattern file - ✅ No Monolog or PSR-3 required
- ✅ Modern PHP 8.0+ (typed properties, constructor promotion)
🚀 Installation
Install via Composer:
composer require ksardv/php-log-sanitizer
🧩 Framework Integration
Laravel
You can use php-log-sanitizer
in Laravel without any special service provider or package.
Basic usage in a custom log processor:
use Ksardv\PhpLogSanitizer\PatternRepository; use Ksardv\PhpLogSanitizer\Sanitizers\JsonSanitizer; $patterns = PatternRepository::fromFile(config_path('log_mask.php')); $sanitizer = new JsonSanitizer($patterns); Log::info($sanitizer->sanitize(json_encode($yourPayload)));
📁 Examples Directory
See the examples/
folder for real code:
text.php
– raw string sanitizationjson.php
– structured JSON maskingxml.php
– XML sanitizationadd_pattern.php
– how to define custom rules