Log.INFO vs. Log.DEBUG [fechado]

95

Estou desenvolvendo um grande programa comercial e fico confuso entre que tipo de informação eu quero registrar com Log.INFO e Log.DEBUG. Existem padrões ou regras básicas sobre o que cada tipo de mensagem de log contém?

cytinus
fonte

Respostas:

132

Eu geralmente tento usá-lo assim:

  • DEBUG: Informação interessante para desenvolvedores, ao tentar depurar um problema.
  • INFO: informações interessantes para a equipe de suporte tentando descobrir o contexto de um determinado erro
  • AVISO para FATAL: Problemas e erros dependendo do nível de dano.
nfechner
fonte
O INFO pode ser ativado sempre na produção, terá algum impacto no desempenho?
pinkpanther de
1
Depende .. (Eu gosto dessa resposta) Os fatores que você precisa levar em consideração são: 1. Quantidade de linhas de registro de informações 2. Configuração de registro (onde vão as linhas de registro?) 3. Processamento disponível e energia io no sistemas em causa.
nfechner
1
E esteja ciente de que quanto mais ruído, mais difícil é identificar os problemas. De plumberjack.blogspot.be/2010/09/… :> Em comum com a filosofia Unix, o software não deve ser excessivamente prolixo, exceto quando precisa ser, ou é solicitado. (por que não consigo citar isso?)
axd
38

Depurar : declarações refinadas sobre o estado do programa, normalmente usadas para depuração;

Info : declarações informativas sobre o estado do programa, representando eventos do programa ou rastreamento de comportamento;

Avisar : declarações que descrevem eventos ou estados potencialmente prejudiciais no programa;

Erro : afirmações que descrevem erros não fatais na aplicação; este nível é freqüentemente usado para registrar exceções tratadas;

Fatal : declarações que representam as condições de erro mais graves, supostamente resultando no encerramento do programa.

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

Ash Burlaczenko
fonte
Os erros disparados pela entrada do usuário devem ser tratados como avisos ou erros? (Ou seja, nome de usuário ou senha incorreta)
Stevoisiak
@Stevoisiak, com base na resposta dele, acho que deve ser tratado como uma informação.
aderchox
9

Lembre-se também que todos info(), error()e debug()chamadas de registro fornecer a documentação interna de qualquer aplicativo.

Pinky
fonte
Acho que é um bom ponto. Por exemplo, log.info("parse the widget text; ignore contents of 'foo'")serve como documentação útil ao ler o código, embora também seja uma instrução de log.
Guisado de