Diferença entre logger.info e lenhador.depurar

Qual é a diferença entre logger.debug e logger.info ?

Quando {[[0]} será impresso?

Author: Oliver Lloyd, 2010-02-26

8 answers

Isto irá depender da configuração do registo. O valor padrão dependerá do framework sendo usado. A ideia é que, mais tarde, ao mudar uma configuração de configuração de INFO para depurar, irá ver uma tonelada de mais (ou menos, se ao contrário) linhas impressas sem recompilar toda a aplicação.

Se você pensa qual usar, então resume-se a pensar o que você quer ver em que nível. Para outros níveis, por exemplo no Log4J, veja a API, http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html

 30
Author: toomasr, 2010-02-26 14:38:11

Sugiro que olhem para o artigo chamado "Breve Introdução ao log4j". Contém uma breve explicação dos níveis de log e demonstra como eles podem ser usados na prática. A ideia básica dos níveis de log é que você quer ser capaz de configurar o grau de detalhe que os logs contêm, dependendo da situação. Por exemplo, se você está tentando resolver um problema, você gostaria que os logs fossem muito verbosos. Na produção, você pode apenas querer ver avisos e erro.

O nível de registo para cada componente do seu sistema é normalmente controlado através de um parâmetro num ficheiro de configuração, por isso é fácil de mudar. O seu código conteria várias declarações de registo com diferentes níveis. Ao responder a um Exception, você pode ligar para Logger.error. Se quiser imprimir o valor de uma variável em qualquer ponto, pode ligar para Logger.debug. Esta combinação de um nível configurável de registo e declarações de Registo dentro do seu programa permite-lhe o controlo total sobre como o seu a aplicação registrará sua atividade.

No caso do log4j, pelo menos, a ordem dos níveis de log é:

DEBUG < INFO < WARN < ERROR < FATAL
[[6]} aqui está um pequeno exemplo desse artigo demonstrando como os níveis de log funcionam.
   // get a logger instance named "com.foo"
   Logger logger = Logger.getLogger("com.foo");

   // Now set its level. Normally you do not need to set the
   // level of a logger programmatically. This is usually done
   // in configuration files.
   logger.setLevel(Level.INFO);

   Logger barlogger = Logger.getLogger("com.foo.Bar");

   // This request is enabled, because WARN >= INFO.
   logger.warn("Low fuel level.");

   // This request is disabled, because DEBUG < INFO.
   logger.debug("Starting search for nearest gas station.");

   // The logger instance barlogger, named "com.foo.Bar",
   // will inherit its level from the logger named
   // "com.foo" Thus, the following request is enabled
   // because INFO >= INFO.
   barlogger.info("Located nearest gas station.");

   // This request is disabled, because DEBUG < INFO.
   barlogger.debug("Exiting gas station search");
 121
Author: William Brendel, 2010-02-26 14:49:58

Apenas um esclarecimento sobre o conjunto de todos os níveis possíveis, que são:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
 13
Author: user1823890, 2014-12-05 15:21:13
Basicamente, depende de como os seus madeireiros estão configurados. Tipicamente, você teria o resultado de depuração escrito durante o desenvolvimento, mas desligado na produção-ou possivelmente teria seleccionado categorias de depuração escrevendo enquanto depura uma área em particular.

O ponto de ter prioridades diferentes é permitir que você aumente/baixe o nível de detalhe em um componente em particular de uma forma razoavelmente fina - e só precisa mudar a configuração de registro (em vez de código) para ver a diferença.

 9
Author: Jon Skeet, 2010-02-26 14:36:57
  1. a informação é usada para registar a informação que o seu programa está a funcionar como esperado.
  2. a depuração é usada para descobrir a razão no caso de o seu programa não estar a funcionar como esperado ou de ter ocorrido uma excepção. é do interesse do promotor.
 3
Author: Santosh Srivastava, 2020-09-21 13:39:37
Esta é uma pergunta muito antiga, mas não vejo a minha compreensão por isso vou acrescentar os meus 2 cêntimos:

Cada nível corresponde / mapeia a um tipo de Utilizador:

  • depuração : desenvolvimento-depuração manual
  • rastreamento: registo automático e rastreador de passos - para suporte de 3º Nível
  • Informação: Técnico / Suporte Nível 1 / 2
  • aviso: erro técnico / utilizador: alerta automático / suporte Nível 1
  • crítico / fatal : depende da sua configuração - local IT
 2
Author: Mickey Perlstein, 2019-07-14 11:44:34

Qual é a diferença entre o logger.depurar e logger.info?

Estes são apenas alguns níveis predefinidos já definidos. Você pode definir seus próprios níveis, se quiser. O objetivo desses níveis é habilitar/desativar um ou mais deles, sem fazer qualquer alteração no seu código.

Quando lenhador.a depuração será impressa ??

Quando tiver activado a depuração ou qualquer nível superior na sua configuração.

 0
Author: craftsman, 2010-02-26 14:44:21

Depende do nível que seleccionou no seu ficheiro de configuração do log4j.

<Loggers>
        <Root level="info">
        ...

Se o seu nível for "info" (por omissão), logger.debug(...) não será impresso na sua consola. No entanto, se o seu nível é "debug", ele vai.

Dependendo do nível crítico do seu código, deve usar o nível mais preciso entre os seguintes:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
 0
Author: Jack', 2017-11-15 13:06:17