Faça logon com o SDK do Azure para Java e Log4j

Este artigo mostra como configurar o Log4j para aplicações que utilizam o SDK do Azure para Java. Como mencionado em Configurar o login no SDK do Azure para Java, todas as bibliotecas clientes do Azure fazem login através do SLF4J, por isso podes usar frameworks como o Log4j 2 para simplificar a resolução de problemas.

Este artigo fornece orientações para usar as versões Log4J 2.x, mas o SDK do Azure para Java também suporta Log4J 1.x. Para ativar o registo log4j, complete estes dois passos:

  1. Inclua a biblioteca log4j como dependência.
  2. Crie um ficheiro de configuração (log4j2.properties ou log4j2.xml) no diretório do projeto /src/main/resources .

Para mais informações sobre a configuração do log4j, veja Bem-vindo ao Log4j 2.

Adicionar a dependência do Maven

Para adicionar a dependência Maven, inclua o seguinte XML no arquivo pom.xml do projeto. Substitua o número da versão 2.16.0 pelo número da versão mais recente lançada mostrado na página Apache Log4j SLF4J Binding.

<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.

Configurar Log4j

Pode configurar o Log4j de duas formas comuns: através de um ficheiro de propriedades externo ou de um ficheiro XML externo. As secções seguintes descrevem estas abordagens.

Utilizar um ficheiro de propriedades

Coloque um ficheiro flat properties chamado log4j2.properties no diretório /src/main/resources do projeto. Este ficheiro deve assumir a seguinte forma:

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

Usar um ficheiro XML

Coloque um ficheiro XML chamado log4j2.xml no diretório /src/main/resources do projeto. O ficheiro deve seguir esta estrutura:

<?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óximos passos

Este artigo abordou a configuração do Log4j e como fazer com que o SDK do Azure para Java o use para registro. Como o SDK do Azure para Java funciona com todas as estruturas de log SLF4J, considere revisar o manual do usuário SLF4J para obter mais detalhes. Se usares o Log4j, há também uma grande quantidade de orientações de configuração no site dele. Para obter mais informações, consulte Bem-vindo ao Log4j 2!

Depois de dominar o loging, considere investigar as integrações que o Azure oferece em frameworks como o Spring.