Registrar em log com o SDK do Azure para Java e Log4j
Este artigo apresenta uma visão geral de como adicionar o registro em log usando o Log4j a aplicativos que usam o SDK do Azure para Java. Conforme mencionado em Configurar o registro em log no SDK do Azure para Java, todas as bibliotecas de clientes do Azure fazem logon por meio de SLF4J, de modo que você pode usar estruturas de registro em log como log4j.
Este artigo fornece diretrizes para usar as versões do Log4J 2.x, mas o Log4J 1.x também é compatível com o SDK do Azure para Java. Para habilitar o registro em log do log4j, faça duas coisas:
- Inclua a biblioteca do log4j como uma dependência,
- Crie um arquivo de configuração (log4j2.properties ou log4j2.xml) no diretório do projeto /src/main/resources.
Para obter mais informações relacionadas à configuração do Log4j, confira Bem-vindo ao Log4j 2.
Adicionar a dependência do Maven
Para adicionar a dependência do Maven, inclua o XML a seguir no arquivo pom.xml do projeto. Substitua o número da versão 2.16.0 pelo número da versão mais recente mostrada na página Vinculação do Apache Log4j SLF4J.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.16.0</version>
</dependency>
Observação
Devido à vulnerabilidade conhecida CVE-2021-44228, certifique-se de usar o Log4j versão 2.16 ou posterior
Como configurar o Log4j
Há duas maneiras comuns de configurar o Log4j: usando um arquivo de propriedades externas ou usando um arquivo XML externo. Essas abordagens são descritas abaixo.
Usando um arquivo de propriedade
Você pode colocar um arquivo de propriedades simples chamado log4j2.properties no diretório /src/main/resources do projeto. Esse arquivo deve ter o seguinte formato:
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %5p [%t] %c{3} - %m%n
logger.app.name = com.azure.core
logger.app.level = ERROR
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
Usando um arquivo XML
Você pode colocar um arquivo XML chamado log4j2.xml no diretório /src/main/resources do projeto. Esse arquivo deve ter o seguinte formato:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%t] %c{3} - %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.azure.core" level="error" additivity="true">
<appender-ref ref="console" />
</Logger>
<Root level="info" additivity="false">
<appender-ref ref="console" />
</Root>
</Loggers>
</Configuration>
Próximas etapas
Este artigo abordou a configuração do Log4j e como fazer o SDK do Azure Java usá-lo para registro em log. Como o SDK do Azure para Java funciona com todas as estruturas de registro em log do SLF4J, considere examinar o manual do usuário do SLF4J para obter mais detalhes. Se você usa o Log4j, também há uma grande quantidade de diretrizes de configuração no site. Para obter mais informações, confira Bem-vindo ao Log4j 2!
Depois de ter feito o registro em log mestre, considere as integrações que o Azure oferece em estruturas como Spring e MicroProfile.