Registrar tanto en archivo como en Stdout en Python con el módulo de registro
Al utilizar el módulo de registro de Python, es deseable generar mensajes de registro no solo al archivo de registro especificado sino también a la salida estándar para una visibilidad inmediata. Para lograr esto, el módulo de registro proporciona una solución sencilla.
La configuración de registro se basa en controladores para dirigir la salida. Al agregar una instancia de logging.StreamHandler() al registrador raíz, es posible enviar mensajes a stdout además de sus destinos previstos.
Un ejemplo de configuración de un controlador de flujo para salida estándar:
import logging
import sys
# Get the root logger
root = logging.getLogger()
# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)
# Create a stream handler and set its level to DEBUG
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
# Add the handler to the root logger
root.addHandler(handler)
Al implementar esta configuración, resulta innecesario duplicar mensajes de registro utilizando métodos de registro y declaraciones de impresión estándar. Los registradores como mylogger.critical("algo falló") generarán resultados tanto en el archivo de registro designado como en la salida estándar, lo que brindará visibilidad inmediata y al mismo tiempo mantendrá las prácticas de registro adecuadas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3