Compartilhar via


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:

  1. Incluir a biblioteca log4j como uma dependência,
  2. 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 para obter mais detalhes. Se você usar o Log4j, também haverá uma grande quantidade de diretrizes de configuração em seu site. Para obter mais informações, consulte Bem-vindo ao Log4j 2!

Depois de dominar o registro de logs, considere explorar as integrações que o Azure oferece em estruturas como Spring e MicroProfile.