Estoy registrando eventos en mi código python usando el módulo de registro de Python. Tengo 2 archivos de registro que también deseo registrar, uno para contener la información del usuario y el otro un archivo de registro más detallado para los desarrolladores. Establecí los dos archivos de registro en los niveles que quiero (usr.log = INFO y dev.log = ERROR) pero no puedo resolver cómo restringir el registro al archivo usr.log para que solo se escriban los registros de nivel de INFO al archivo de registro en lugar de INFO más todo lo demás por encima, por ejemplo INFO, ADVERTENCIA, ERROR y CRÍTICO.nivel específico de registro de Python
Esto es básicamente mi código: -
import logging
logger1 = logging.getLogger('')
logger1.addHandler(logging.FileHandler('/home/tmp/usr.log')
logger1.setLevel(logging.INFO)
logger2 = logging.getLogger('')
logger2.addHandler(logging.FileHandler('/home/tmp/dev.log')
logger2.setLevel(logging.ERROR)
logging.critical('this to be logged in dev.log only')
logging.info('this to be logged to usr.log and dev.log')
logging.warning('this to be logged to dev.log only')
Cualquier ayuda sería grande gracias.
@srgerg Gracias por tomarse el tiempo para explicarlo, eso tiene mucho más sentido ahora. – user788462
Para emitir el registro solo en el nivel especificado, ¿no sería necesario que la condición fuera 'logRecord.levelno == self .__ level' en lugar de' <= '? – samstav
Oh, supongo que el otro filtro incorporado hará la comparación '> ='. – samstav