Em Java Como criar seu próprio nível de log usando Log4j (Configurando Log4j 2)

Publicados: 2017-07-26
Em Java Como criar seu próprio nível de log usando Log4j 2

Se você precisar adicionar seu próprio nível de log no Log4j, poderá fazê-lo da seguinte maneira. Você terá que criar sua própria classe que se estenderá de Level , Custom Log Levels com Apache Log4j 2.

Log4j é uma logging framework simples e flexível. O registro equipa o desenvolvedor com contexto detalhado para falhas de aplicativos. Com o log4j é possível habilitar o log em tempo de execução sem modificar o binário do aplicativo.

O pacote log4j foi projetado para que essas instruções possam permanecer no código enviado sem incorrer em um alto custo de desempenho.

Como criar seu próprio nível de log no Log4j (Configurando o Log4j)

O Log4j permite que solicitações de registro sejam impressas em vários destinos. Na fala do log4j, um destino de saída é chamado de appender . Eles variam de console, arquivos, componentes GUI, servidores de soquete remotos a JMS.

Arquivo Jar que você precisa.

Aqui está uma dependência do Maven:

Atualize o Log4j para a versão mais recente

CVE-2021-44228: Apache Log4j2 <=2.14.1 Os recursos JNDI usados ​​na configuração, mensagens de log e parâmetros não protegem contra LDAP controlado por invasores e outros terminais relacionados a JNDI.

A partir do log4j 2.16.0, esse comportamento foi desabilitado por padrão.

Você tem que colocar o arquivo log4j.xml na pasta /resources :

arquivo log4j.xml na pasta de recursos

Aqui está um exemplo de código Java para:

  • Log4j Log para níveis de log personalizados em Java
  • Criando seu próprio nível de log no log4j
  • exemplo de registrador personalizado log4j

CrunchifyLog4jLevel.java

Outro deve ler:

  • Como iniciar o servidor Apache Tomcat via linha de comando? (Configuração como serviço do Windows)
  • Crie e implemente um Web Service simples e um Web Service Client no Eclipse

Aqui está um conteúdo do arquivo log4j.xml

CrunchifyLog4jLevelTest.java

Execute o programa de teste e você deverá ver o tipo de resultado abaixo no Eclipse's Console .

O valor int que você especifica para seu nível de log é importante. Aqui eu defini que o nível de log “ CRUNCHIFY ” deve ser maior que o nível DEBUG , mas menor que o nível TRACE fornecido pelo log4j.

Portanto, sempre que você definir um nível de prioridade para DEBUG na categoria (no seu arquivo log4j.xml ), os logs de nível CRUNCHIFY NÃO chegarão ao arquivo de log.