Cada vez que creo entender el módulo de registro, los gremlins entran y cambian la forma en que funcionan. (Ok, lo admito, ese gremlin puede ser que cambie mi código.)Configuración de registradores secundarios
¿Qué estoy haciendo mal aquí?
> ipython
> import logging
> log = logging.Logger("base")
> log.addHandler(logging.StreamHandler())
> log.critical("Hi")
Hi
> log2 = log.getChild("ment")
> log2.critical("hi")
No handlers could be found for logger "base.ment"
podría haber jurado que en el pasado, yo era capaz de utilizar los registradores de niño sin configuración adicional ...
Pruébelo en una sesión nueva. Funciona para mí usando ipython, y también como script. – unutbu
No funciona para mí tampoco en cPython 2.7.2. Me pregunto si tiene algo que ver con la configuración predeterminada de un 'StreamHandler' ... Cuando creo' log', agrego el controlador a 'log', luego creo' log2', obtengo 'No handlers', pero si creo 'log2' primero y luego agrego el manejador a' log', el registro en 'log2' no genera errores (aunque tampoco imprime nada). –
@unutbu: Hmmm ... esa * es * una nueva sesión. Incluí la línea de comando 'ipython' en la parte superior para indicar eso. Que puedas ejecutar esto sin problemas me da un mal presentimiento. Estoy ejecutando Python 2.7.1 e IPython 0.10. Sido así por un tiempo * largo *, así que ese no parece ser el problema. Yo * sé * tiene que ver con mi código ... –