我正在做一个symfony项目,在这个项目中我们已经使用了一个来自私有库的自定义格式化程序.
monolog:
handlers:
main:
type: stream
path: "%log_file_path%"
level: "%log_level%"
formatter: logstash_formatter_private_lib
我想添加一个新的格式化程序来过滤掉敏感数据.这就是为什么我创建了一个新的处理器:
<?php
namespace App\CoreBundle\Logger;
use Monolog\Processor\ProcessorInterface;
class PIIFilterProcessor implements ProcessorInterface
{
private $piiFields = ['password', 'email', 'phone', 'address'];
public function __invoke(array $record)
{
// Loop through each PII field and unset it if exists
foreach ($this->piiFields as $field) {
if (isset($record['context'][$field])) {
$record['context'][$field] = '***FILTERED***';
}
}
return $record;
}
}
如何在已经运行的处理器/格式化程序之后或之前执行这个处理器/格式化程序?