Me resulta más útil pensar en las severidades desde la perspectiva de ver el archivo de registro.
Fatal / Crítico : falla general de la aplicación o del sistema que debe investigarse de inmediato. Sí, despierta el SysAdmin. Como preferimos nuestra alerta SysAdmins y descansamos bien, esta gravedad debe usarse con poca frecuencia. Si sucede a diario y eso no es un BFD, se pierde su significado. Por lo general, un error fatal solo ocurre una vez en la vida útil del proceso, por lo que si el archivo de registro está vinculado al proceso, este suele ser el último mensaje en el registro.
Error : Definitivamente un problema que debe ser investigado. SysAdmin debería ser notificado automáticamente, pero no necesita ser arrastrado fuera de la cama. Al filtrar un registro para ver los errores y más arriba, obtiene una visión general de la frecuencia de errores y puede identificar rápidamente la falla inicial que podría haber resultado en una cascada de errores adicionales. El seguimiento de las tasas de error en comparación con el uso de la aplicación puede proporcionar métricas de calidad útiles, como MTBF, que se pueden utilizar para evaluar la calidad general. Por ejemplo, esta métrica podría ayudar a informar las decisiones sobre si se necesita o no otro ciclo de prueba beta antes de un lanzamiento.
Advertencia : esto PUEDE ser un problema, o podría no serlo. Por ejemplo, las condiciones ambientales transitorias esperadas, como la pérdida corta de la conectividad de la red o la base de datos, deben registrarse como Advertencias, no como Errores. Ver un registro filtrado para mostrar solo advertencias y errores puede dar una idea rápida de los primeros indicios sobre la causa raíz de un error posterior. Las advertencias deben usarse con moderación para que no tengan sentido. Por ejemplo, la pérdida de acceso a la red debería ser una advertencia o incluso un error en una aplicación de servidor, pero podría ser solo una información en una aplicación de escritorio diseñada para usuarios de computadoras portátiles ocasionalmente desconectados.
Información : Esta es información importante que debe registrarse en condiciones normales, como la inicialización exitosa, el inicio y la detención de servicios o la finalización exitosa de transacciones significativas. Ver un registro que muestre información y más arriba debería proporcionar una visión general rápida de los principales cambios de estado en el proceso, proporcionando un contexto de nivel superior para comprender cualquier advertencia o error que también ocurra. No tengo demasiados mensajes de información. Por lo general, tenemos <5% de mensajes de información en relación con Trace.
Rastreo : El rastreo es, con mucho, la gravedad más utilizada y debe proporcionar un contexto para comprender los pasos que conducen a errores y advertencias. Tener la densidad adecuada de mensajes de seguimiento hace que el software sea mucho más fácil de mantener, pero requiere cierta diligencia porque el valor de las declaraciones de seguimiento individuales puede cambiar con el tiempo a medida que los programas evolucionan. La mejor manera de lograr esto es conseguir que el equipo de desarrollo se habitúe a revisar regularmente los registros como parte estándar de la resolución de problemas informados por los clientes. Aliente al equipo a eliminar los mensajes de Trace que ya no proporcionan un contexto útil y a agregar mensajes donde sea necesario para comprender el contexto de los mensajes posteriores. Por ejemplo, a menudo es útil registrar la entrada del usuario, como cambiar pantallas o pestañas.
Debug : consideramos Debug <Trace. La distinción es que los mensajes de depuración se compilan a partir de versiones de lanzamiento. Dicho esto, desaconsejamos el uso de mensajes de depuración. Permitir mensajes de depuración tiende a generar más y más mensajes de depuración que se agregan y nunca se eliminan. Con el tiempo, esto hace que los archivos de registro sean casi inútiles porque es demasiado difícil filtrar la señal del ruido. Eso hace que los desarrolladores no usen los registros, lo que continúa la espiral de la muerte. Por el contrario, podar constantemente los mensajes de Trace alienta a los desarrolladores a usarlos, lo que resulta en una espiral virtuosa. Además, esto elimina la posibilidad de errores introducidos debido a los efectos secundarios necesarios en el código de depuración que no está incluido en la compilación de lanzamiento. Sí, sé que eso no debería suceder en un buen código, pero es mejor prevenir que curar.
notice
en esta colección que alguien no ...