CodeGym/Cursos Java/Módulo 3/Definindo níveis de registro

Definindo níveis de registro

Disponível

4.1 Lista de níveis de registro

Você escreveu seu programa, carregou-o no servidor e imediatamente começou a ter perguntas:

  • Como garantir que debug()o método não funcione enquanto estiver trabalhando em production?
  • Há muita informação nos logs, gostaria de deixar apenas mensagens de erro?
  • Como ver um log detalhado de uma parte do aplicativo?

Claro, os criadores dos logs enfrentaram a mesma coisa décadas atrás. Não vou contar como esse problema foi resolvido na linguagem C, mas na linguagem Java foi resolvido de maneira muito bonita.

O log filtra os dados antes de gravar as informações no arquivo . Você pode reduzir/aumentar rapidamente os detalhes do log definindo o nível de log. Esses níveis estão descritos na tabela abaixo:

Nível Observação
1 TODOS Registrar todas as mensagens
2 VESTÍGIO Pequena mensagem ao depurar
3 DEPURAR Mensagens importantes para depuração
4 INFORMAÇÕES mensagens simples
5 AVISAR Escreva apenas fatal, erro e aviso
6 ERRO Escreva apenas erros e erros fatais
7 FATAL Escreva apenas erros fatais
8 DESLIGADO Não escreva mensagens no log

Esses níveis são usados ​​ao filtrar mensagens. Se você definir o nível de registro como WARN, todas as mensagens menos importantes WARNserão descartadas: TRACE, DEBUG, INFO. Se você definir o nível de filtragem como FATAL, então até ERROR.

Existem mais dois níveis de severidade que são usados ​​na filtragem - este OFF(descartar todas as mensagens) e ALL- gravar todas as mensagens (descartar nada).

4.2 Exemplo de configuração de registro

Vejamos um exemplo simples de configuração de log. Para fazer isso, precisamos do arquivo log4j.properties, que pode ser colocado na pasta de recursos. Vamos adicionar o seguinte conteúdo a ele:

# Root logger option
log4j.rootLogger=WARN, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}

Aqui, na primeira linha, definimos o nível de registro - WARN. E isso significa que as mensagens gravadas no logger com status DEBUGserão INFOignoradas.

  • Especifique que tipo de anexador usaremos -ConsoleAppender
  • Especifique onde iremos gravar o log -System.out
  • Definimos a classe que controlará o formato de gravação -PatternLayout
  • Defina o formato de gravação para todas as mensagens - data e hora

4.3 Erros populares de registro

E mais um ponto importante - erros populares no registro. Não existem tantas opções para fazer algo, mas vários erros comuns podem ser identificados:

  1. Muito registro . Você não deve registrar todas as etapas, o que teoricamente pode ser importante. Existe uma regra: os logs podem carregar o desempenho em não mais que 10% . Caso contrário, haverá problemas de desempenho.
  2. Registrando todos os dados em um arquivo . Isso fará com que seja muito difícil ler/gravar em algum ponto, sem mencionar que há limites de tamanho de arquivo em determinados sistemas.
  3. Usando os níveis de log incorretos . Cada nível de registro tem limites claros e eles devem ser respeitados. Se o limite for vago, você pode concordar em qual nível usar.
Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário