[Python-es] problema al crear un nuevo nivel TRACE en logging. No respeta el nivel de log asignado.
Jose Caballero
jcaballero.hep en gmail.com
Lun Oct 28 21:37:07 CET 2013
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
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
Más información sobre la lista de distribución Python-es