TigerZF
🌐Español

44.4. Filtros

Un objeto Filtro bloquea que un mensaje se escriba en el log.

44.4.1. Filtrado para todos los escritores

Para filtrar antes de todos los escritores, se puede añadir cualquier número de Filtros a un objeto Log usando el método addFilter():

$logger = new Zend_Log();

$writer = new Zend_Log_Writer_Stream('php://output');
$logger->addWriter($writer);

$filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
$logger->addFilter($filter);

// blocked
$logger->info('Informational message');

// logged
$logger->emerg('Emergency message');

Cuando se añade uno o más Filtros al objeto Log, el mensaje debe pasar por todos los Filtros antes de que cualquier Escritor lo reciba.

44.4.2. Filtrado para una instancia de escritor

Para filtrar únicamente en una instancia específica de Escritor, utilice el método addFilter() de ese Escritor:

$logger = new Zend_Log();

$writer1 = new Zend_Log_Writer_Stream('/path/to/first/logfile');
$logger->addWriter($writer1);

$writer2 = new Zend_Log_Writer_Stream('/path/to/second/logfile');
$logger->addWriter($writer2);

// add a filter only to writer2
$filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
$writer2->addFilter($filter);

// logged to writer1, blocked from writer2
$logger->info('Informational message');

// logged by both writers
$logger->emerg('Emergency message');