Registrar em log com o SDK do Azure para Java e Log4j
Este artigo fornece uma visão geral de como adicionar 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 registram por meio do SLF4J, para que você possa usar estruturas de registro em log, como o log4j.
Este artigo fornece diretrizes para usar as versões do Log4J 2.x, mas o Log4J 1.x é igualmente compatível com o SDK do Azure para Java. Para habilitar o logging do log4j, você deve fazer duas coisas:
- Incluir a biblioteca log4j como uma dependência,
- Crie um arquivo de configuração (log4j2.properties ou log4j2.xml) no diretório de projeto /src/main/resources.
Para obter mais informações relacionadas à configuração do log4j, consulte Bem-vindo ao Log4j 2.
Adicionar a dependência do Maven
Para adicionar a dependência maven, inclua o XML a seguir no arquivo pom.xml do projeto. Substitua o número de versão 2.16.0
pelo número de versão de lançamento mais recente mostrado na página Associação do Apache Log4j SLF4J.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.16.0</version>
</dependency>
Nota
Devido à vulnerabilidade conhecida CVE-2021-44228, certifique-se de usar o Log4j versão 2.16 ou versões subsequentes.
Como configurar o Log4j
Há duas maneiras comuns de configurar o Log4j: por meio de um arquivo de propriedades externas ou por meio de um arquivo XML externo. Essas abordagens são descritas abaixo.
Usando um arquivo de propriedade
Você pode colocar um arquivo de propriedades plano chamado log4j2.properties no diretório /src/main/resources do projeto. Esse arquivo deve seguir o seguinte formulário:
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 diretório do projeto. Esse arquivo deve seguir o seguinte formulário:
<?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 configurar o SDK do Azure para Java para utilizá-lo para log de eventos. Como o SDK do Azure para Java funciona com todas as estruturas de log SLF4J, considere revisar o manual do usuário do SLF4J
Depois de dominar o registro de logs, considere explorar as integrações que o Azure oferece em estruturas como Spring e MicroProfile.