logging - python3 - ¿Debo registrar mensajes en stderr o stdout?
python logging example (2)
¿Escribes algo más para stdout
? Si la respuesta es Yes
entonces sería bastante difícil para alguien distinguir entre flujo normal y errores en el medio del archivo que se utilizó para redirigir desde stdout
.
¿Qué pasa si stdout
se utilizará como entrada para otro programa? ¿Podrá analizar esta información de depuración? En este caso, sería bueno escribir solo errores críticos en stderr
. Si necesita escribir algo más, puede considerar escribir en un archivo de registro adicional.
Tengo un programa que estoy escribiendo para el que quiero escribir un recurso de registro personalizado (por ejemplo, diagnóstico, aviso, advertencia, error).
¿Debería usar stdout
o stderr
para hacer esto? Es una especie de intérprete y el usuario puede pedirle que imprima el resultado.
Editar: Por favor deja de recomendarme los marcos de registro :(
La salida regular (el resultado real de ejecutar el programa) debe continuar stdout
, cosas como usted mencionó (por ejemplo, diagnóstico, aviso, advertencia, error) en stderr
.
Si no hay un "resultado regular", diría que realmente no importa cuál elijas. Podría argumentar que el registro es la única salida, por lo que debería ir a stdout
. O podría argumentar que sigue siendo "información excepcional" que debería ir a stderr
.