El día 28 de octubre de 2013 21:37, Jose Caballero <jcaballero....@gmail.com> escribió: > Hola, > > > quiero agnadir un nivel de log por debajo de DEBUG, llamado TRACE. > Siguiendo cierta informacion que encontre en stackoverflow, lo que es > implementado es lo siguiente: > > > logging.TRACE = 5 > logging.addLevelName(logging.TRACE, 'TRACE') > def trace(self, msg, *args, **kwargs): > self._log(logging.TRACE, msg, args, **kwargs) > logging.Logger.trace = trace
_log envía el mensaje al logger sin chequear los niveles. Usa Logger.log en su lugar: def trace(self, msg, *args, **kwargs): self.log(logging.TRACE, msg, *args, **kwargs) No veo clara la implementación que estás haciendo, con modificaciones tanto del módulo logging como de la clase Logger/RootLogger. Sin volver a la discursión de estos días sobre especializar o parchear clases, deberías derivar tu propia clase de Logger en vez de usar el logger root. Parcheando así podrías tener problemas con el multiproceso. import logging class MyLogger(logging.getLoggerClass()): TRACE = 5 logging.addLevelName(TRACE, "TRACE") def trace(self, msg, *args, **kwargs): self.log(self.TRACE, msg, *args, **kwargs) logging.setLoggerClass(MyLogger) logger = logging.getLogger(__name__) logger.addHandler(logging.StreamHandler()) logger.setLevel("TRACE") logger.trace("hi") logger.setLevel("INFO") logger.trace("hi") > > > y depues de eso ya hago lo normal > > log = logging.getLogger() > .... > > > El unico problema es que siempre ejecuta las llamadas a log.trace(), > independiente de el nivel de log. Por ejemplo, si hago log.setLevel > ( "INFO" ) responde a todos los mensajes de niveles INFO, WARNING, > ERROR y CRITICAL, pero tambien TRACE. > Se supone que TRACE solo deberia responder si el nivel es 5 o menos, no? > > Si alguien tiene una pista de porque no respeta el valor 5 y se > ejecuta siempre, cualquier comentario sera mas que bienvenido. > > > Muchas gracias por adelantado. > Jose > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/