sábado, 10 de abril de 2010

Logging en Symfony a Logs Externos

Uno de los problemas con los logs de de Symfony es que por defecto se llenan mucho y no he encontrado una maner rápida y práctica de filtrar lo que se escribe.
La forma apropiada es cambiar los filtros en settings.yml, pero no encuentro aún como filtrar por clase como se puede hacer en Log4J.
Mi solución rápida pero poco elegante fue crear un log nuevo para ver exclusivamente lo que me interesaba.
Como esta solución es para realizar un debugging en un problema que estoy teniendo no me he preocupado por uso de memoria ni escalabilidad.

$logger = new sfFileLogger(sfContext::getInstance()->getEventDispatcher(),
array('file'=> sfConfig::get("sf_log_dir").'/debug.log'));

$logger->log("{" . __CLASS__ . "." . __FUNCTION__ . "} Logging test", 2);

Con esto podemos loggear la clase y método desde donde se llama el logger.

Apr 10 12:16:19 symfony [crit] {sfValidatorImgToDB.doClean} Logging test

Mientras encuentro una forma más elegante de filtrar los logs esto me sirve.

No hay comentarios:

Publicar un comentario