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?

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.

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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.