ScrubProcessor
in package
implements
ProcessorInterface
Monolog レコードの context / extra から機密情報をスクラブするプロセッサ。
WebProcessor が extra.url / extra.referrer に htmlspecialchars 前の生の REQUEST_URI / HTTP_REFERER を注入するため、その後段で実行される必要がある。 Why not: Monolog\Logger::pushProcessor() は array_unshift() で先頭に積むため、実行順は 「後に push したものが先に走る」順序になる。つまりこのプロセッサを WebProcessor より後に 実行させたい場合、登録(push)は WebProcessor より先に行う必要がある (登録順の具体は LoggerServiceProvider::register() 側の責務)。
Monolog\Logger::addRecord() はプロセッサを一度通した同一レコードを全ハンドラへ配布するため、 このプロセッサを一度登録するだけで DatabaseHandler / EmailHandler / RotatingFileHandler の いずれにも効く。REQUEST_URL 等の定数を直接参照する箇所(DatabaseHandler の audit_log_url、 EmailHandler の url フィールド)はこのプロセッサの対象外なので、各ハンドラ側で Filter::scrubUrl() を個別に呼ぶ必要がある。
Tags
Table of Contents
Interfaces
- ProcessorInterface
Properties
Methods
- __construct() : mixed
- __invoke() : array<string|int, mixed>
Properties
$filter
private
Filter
$filter
Methods
__construct()
public
__construct(Filter $filter) : mixed
Parameters
- $filter : Filter
__invoke()
public
__invoke(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
- $record : array<string|int, mixed>