Hoy discutiremos por qué alguien necesitaba escribir un reemplazo para el logging
pitón de logging
estándar y cómo usar esto.

Está enfermo!
Cuando se trata de iniciar sesión en Python, el logging
viene a la mente de inmediato.
logging
es una solución robusta y estable firmemente integrada en el ecosistema de Python. Lo importas cuando es necesario, haces un par de manipulaciones, y eso es todo, es como escribir el codiciado logger.exception('--')
. Y la entrada '--'
terminará en algún tipo de diario.
Después de eso, generalmente los desarrolladores están interesados en saber exactamente dónde llegó el '--'
y qué sucede con este registro. Los programadores acceden a la configuración del registrador y comienzan a usar el montón de varias opciones para enseñarle a insertar correctamente los registros en archivos, bases de datos, recolectores de errores y otros lugares de posible almacenamiento de registros de registros.
Aparecen configuraciones para el registrador, que comienzan con una tarea engorrosa, pero más o menos comprensible:
LOGGER_CONFIG = { "version": 1, "disable_existing_loggers": False, "formatters": { "simple": { "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" } }, "handlers": { "console": { "class": "logging.StreamHandler", "level": "DEBUG", "formatter": "simple", "stream": "ext://sys.stdout" }, }, "root": { "level": "INFO", "handlers": ["console"] } }
Tales configuraciones están evolucionando rápidamente hacia algo mucho más indigesta. Una configuración normalmente configurada para el logging
, con diferentes niveles de registro, diferentes recopiladores de mensajes y rotación de archivos de registro es un texto considerable que ya es realmente difícil de profundizar.
Para no lastimar e incluso agradable
Una vez, un par de programadores finalmente se cansaron de cavar (y cometer errores) en las numerosas opciones de configuración para el logging
. Estos ingenieros escribieron su propio registrador, extremadamente simple y muy poderoso al mismo tiempo. Esta cosa se llama Loguru .
Y aquí está la demostración de esta biblioteca, y muestra exhaustivamente cómo es posible configurar el inicio de sesión en su potente aplicación en un par de líneas.

¿Por qué debería considerar loguru
como una alternativa al logging
?
- Simplicidad Sobre esto, ya lo he dicho anteriormente, pero lo diré nuevamente: configurar correctamente
loguru
más fácil que logging
. - Formas claras de configurar la rotación de archivos de registro y archivar registros antiguos.
- La caja ya incluye montones de baterías: colores de mensajes, formateo, envío de notificaciones de fallas por correo electrónico, pilas de llamadas de funciones junto con informes de fallas y muchas otras comodidades agradables.
- Y, por supuesto, ¡asincronía! Sí, el mundo de Python va más y más hacia asíncrono / espera, y este cambio tectónico de toda la programación que consume mucha energía claramente requiere registradores asíncronos.
Por supuesto, tienes que pagar por todo. Y para usar loguru
que pagar dos cosas:
- Lieba es relativamente joven y puede haber sorpresas.
- Los autores prometen compatibilidad total con el
logging
, pero bien puede encontrar problemas para conectar loguru
con bibliotecas de terceros para el logging
. Por ejemplo, al adjuntar controladores para Sentry o Airbrake.
A pesar de estas dificultades potenciales, loguru
pena probar y atar loguru
cuidadosamente en su próximo proyecto.