Log.INFO frente a Log.DEBUG [cerrado]

96

Estoy desarrollando un gran programa comercial y sigo confundiéndome entre qué tipo de información quiero registrar con Log.INFO y Log.DEBUG. ¿Existen estándares o reglas generales sobre lo que contiene cada tipo de mensaje de registro?

cytinus
fuente

Respuestas:

132

Normalmente trato de usarlo así:

  • DEBUG: Información de interés para los Desarrolladores, al intentar depurar un problema.
  • INFO: Información de interés para el personal de soporte que intenta averiguar el contexto de un error determinado
  • ADVERTENCIA a FATAL: Problemas y Errores dependiendo del nivel de daño.
nfechner
fuente
¿Se puede habilitar INFO siempre en producción, tendrá algún impacto en el rendimiento?
pinkpanther
1
Depende ... (Me gusta esa respuesta) Los factores que debe tener en cuenta son: 1. Cantidad de líneas de registro de información 2. Configuración de registro (¿dónde terminan sus líneas de registro?) 3. Procesamiento disponible y encendido de io sistemas en cuestión.
nfechner
1
Y tenga en cuenta que cuanto más ruido, más difícil es detectar problemas. De plumberjack.blogspot.be/2010/09/… :> Al igual que la filosofía Unix, el software no debe ser excesivamente detallado, excepto cuando sea necesario o se solicite. (¿Por qué no puedo cotizar esto?)
axd
38

Depurar : declaraciones detalladas sobre el estado del programa, normalmente utilizadas para depurar;

Información : declaraciones informativas sobre el estado del programa, que representan eventos del programa o seguimiento del comportamiento;

Advertir : declaraciones que describen eventos o estados potencialmente dañinos en el programa;

Error : declaraciones que describen errores no fatales en la aplicación; este nivel se usa con bastante frecuencia para registrar excepciones manejadas;

Fatal : declaraciones que representan las condiciones de error más graves, que supuestamente dan como resultado la terminación del programa.

Encontrado en http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx

Fresno Burlaczenko
fuente
¿Los errores provocados por la entrada del usuario deben tratarse como advertencias o errores? (IE nombre de usuario o contraseña incorrectos)
Stevoisiak
@Stevoisiak basado en su respuesta, creo que debería tratarse como una información.
aderchox
9

Asimismo, recuerda que todos info(), error()y debug()las llamadas de registro proporcionan documentación interna dentro de cualquier aplicación.

Pinky
fuente
Creo que es un buen punto. Por ejemplo, log.info("parse the widget text; ignore contents of 'foo'")sirve como documentación útil al leer el código, aunque también es una declaración de registro.
Stew