ordem da hierarquia de registro log4j


169

Qual é a hierarquia do log4 de log?

DEBUG
INFO
WARN
ERROR
FATAL

Qual deles fornece o registro mais alto que seria útil para solucionar problemas? Alguém pode fornecer a ordem ou hierarquia na qual o registro ocorre do mais alto para o mais baixo? Obrigado!

Respostas:


292

Esta tabela pode ser útil para você:

Nível de log

Descendo a primeira coluna, você verá como o log funciona em cada nível. ou seja, para WARN , ( FATAL, ERROR e WARN ) será visível. Para OFF , nada será visível.


Os termos visibilidade e item não são auto-explicativos. Vejo que a documentação oficial também é vaga sobre isso. O método de produção, tais como error, info, debug, etc., dos cessionários logger um nível de prioridade / gravidade para a mensagem de log. Se o registro realmente entrar em vigor (a mensagem estará visível), depende do nível de registro efetivo do log que está sendo usado.
Wolf

1
link quebrado. Corrija ou remova
Yurin

Embora isso responda à pergunta (que está apenas pedindo a "ordem hierárquica"), eu finalmente votei na sua terminologia ruim: caindo , "visibilidade" funciona , item . Você não deseja explicar como a configuração do criador de logs afeta o registro real (passando eventos de registro)? Por favor, considere outra atualização. BTW: a tabela na documentação oficial (no final da seção) difere no tratamento OFFe ALL, bem, depois de ler parte da fonte (sem encontrar casos especiais), duvido que a tabela esteja correta.
Wolf

Obrigado Wolf, eu atualizei a resposta de acordo com seus comentários.
Nxhoaf

2
Eu acho que essa é uma excelente visualização dos níveis de log e dos tipos de mensagens de log esperados que seriam gerados para uma configuração específica no nível do criador de logs. Minha única sugestão é ter cores de linha alternadas para orientar o visualizador de que o gráfico deve ser interpretado por linha e não por coluna. (ou seja, as linhas representam os níveis logger e as colunas representam tipos de log de mensagens que estariam presentes)
Larry Hector

149

Use a força, leia a fonte (trecho da classe Prioritye Levelcompilado, o nível TRACE foi introduzido na versão 1.2.12):

public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT  = 30000;
public final static int INFO_INT  = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE; 

ou a API log4j da Levelclasse , o que torna bastante claro.

Quando a biblioteca decide se imprime ou não uma determinada instrução, ela calcula o nível efetivo do Loggerobjeto responsável (com base na configuração) e o compara com o LogEventnível do (depende de qual método foi usado no código - trace / debug / ... / fatal ). Se LogEvento nível for maior ou igual ao Loggernível, ele LogEventserá enviado ao (s) requerente (s) - "impresso". No fundo, tudo se resume a uma comparação inteira e é aí que essas constantes entram em ação.


56
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL

1
Isso está em conflito com as informações fornecidas em tutorialspoint.com/log4j/log4j_logging_levels.htm Qual delas é verdadeira ???
Mike

1
verifique o código onde estão as variáveis ​​inteiras para a prova docjar.com/html/api/org/apache/log4j/Level.java.html
the.malkolm

4
no seu link, ele dizia que "ALL <DEBUG <INFO <WARN <ERRO <FATAL <OFF" e é
exatamente

6
Diagrama de Venn OFF () ALL (TRACE (DEBUG (INFO (WARN (ERRO (FATAL))))))
Hernán Eche

@Mike no log4j Níveis de registro eles usam a ordem alfabética na primeira tabela . Excepto para a falta trace, que mais tarde estado correctamente que ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF(em que <os meios menos importante)
lobo

24

A hierarquia dos níveis de log do log4j é a seguinte, da ordem mais alta para a mais baixa:

  • VESTÍGIO
  • DEPURAR
  • INFO
  • ADVERTIR
  • ERRO
  • FATAL
  • FORA

O nível de log do TRACE fornece o log mais alto, o que seria útil para solucionar problemas. O nível de log DEBUG também é muito útil para solucionar problemas.

Você também pode consultar este link para obter mais informações sobre os níveis de log: https://logging.apache.org/log4j/2.0/manual/architecture.html


12

[Retirado de http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]

DEBUG é o nível de log java restrito mais baixo e devemos escrever tudo o que precisamos para depurar um aplicativo. Esse modo de log java deve ser usado apenas no ambiente de Desenvolvimento e Teste e não deve ser usado no ambiente de produção.

INFO é mais restrito do que o nível de registro em java DEBUG e devemos registrar mensagens com fins informativos, como o servidor foi iniciado, mensagens de entrada, mensagens de saída etc. no registro de nível INFO em java.

WARN é mais restrito que o nível de registro java INFO e é usado para registrar tipos de mensagens de aviso, por exemplo, conexão perdida entre cliente e servidor. Conexão de banco de dados perdida, soquete atingindo seu limite. Essas mensagens e o nível de log em java são quase importantes porque você pode configurar o alerta nessas mensagens de log em java e deixar sua equipe de suporte monitorar a integridade do seu aplicativo java e reagir a essas mensagens de aviso. Em resumo, o nível WARN é usado para registrar a mensagem de aviso para efetuar login em Java.

ERRO é o nível de log em java mais restrito que WARN e usado para registrar erros e exceção. Você também pode configurar o alerta nesse nível de log em java e a equipe de monitoramento de alertas para reagir a essas mensagens. ERRO é sério para efetuar login em Java e você deve sempre imprimi-lo.

O nível de registro em Java FATAL designa eventos de erro muito graves que, presumivelmente, levarão o aplicativo a abortar. Depois disso, seu aplicativo falha e é interrompido.

O nível de registro de java OFF tem a classificação mais alta possível e tem como objetivo desativar o registro em Java.


4

Ordem de hierarquia

  1. TUDO
  2. VESTÍGIO
  3. DEPURAR
  4. INFO
  5. ADVERTIR
  6. ERRO
  7. FATAL
  8. FORA
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.