Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece uma visão geral de como adicionar log usando Logback a aplicativos que usam o SDK do Azure para Java. Conforme mencionado em Configurar o registo no SDK do Azure para Java, todas as bibliotecas de cliente do Azure efetuam registo através do SLF4J, para que possa usar frameworks de registo, como o Logback.
Para ativar o log de Logback, deves fazer duas coisas:
- Incluir a biblioteca Logback como uma dependência,
- Crie um ficheiro chamado logback.xml no diretório do projeto /src/main/resources.
Para mais informações relacionadas com a configuração do Logback, consulte Configuração Logback na documentação do Logback.
Adicionar 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 1.2.3 pelo número da versão mais recente lançada, conforme apresentado na página do módulo Logback Classic.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
Adicionar logback.xml ao seu projeto
Logback é um dos frameworks de registo populares. Para ativar o registo do Logback, crie um ficheiro chamado logback.xml no diretório ./src/main/resources do seu projeto. Esse arquivo contém as configurações de log para personalizar suas necessidades de registro. Para obter mais informações sobre como configurar logback.xml, consulte a configuração de na documentação do Logback.
Registo da consola
Você pode criar uma configuração de Logback para fazer logon no console, conforme mostrado no exemplo a seguir. Este exemplo é configurado para registrar todos os eventos de log de nível INFO ou superior, de onde quer que venham.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %blue(%logger{100}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Registrar erros principais do Azure
O exemplo de configuração a seguir é semelhante à configuração anterior, mas reduz o nível de registo de todas as classes do pacote com.azure.core (incluindo subpacotes). Desta forma, tudo o nível de INFORMAÇÃO e superior é registado, exceto com.azure.core, onde apenas o nível de ERRO e superior é registado. Por exemplo, você pode usar essa abordagem se achar que o código em com.azure.core muito barulhento. Este tipo de configuração também pode ir nos dois sentidos. Por exemplo, se tu quiseres obter mais informações de depuração sobre as classes no com.azure.core, podes alterar essa configuração para DEBUG.
É possível ter um controle refinado sobre o registro de classes específicas ou pacotes específicos. Como mostrado aqui, com.azure.core controla a saída de todas as classes principais, mas você também pode usar com.azure.security.keyvault ou equivalente para controlar a saída conforme apropriado para as circunstâncias que são mais informativas no contexto do aplicativo em execução.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%message%n</pattern>
</encoder>
</appender>
<logger name="com.azure.core" level="ERROR" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Registrar em um arquivo com a rotação de log ativada
Os exemplos anteriores registram no console, que normalmente não é o local preferido para logs. Em vez disso, use a seguinte configuração para fazer logon em um arquivo, com roll-over por hora e arquivamento no formato gzip:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOGS" value="./logs" />
<appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOGS}/spring-boot-logger.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover hourly and gzip logs -->
<fileNamePattern>${LOGS}/archived/spring-boot-logger-%d{yyyy-MM-dd-HH}.log.gz</fileNamePattern>
</rollingPolicy>
</appender>
<!-- LOG everything at INFO level -->
<root level="INFO">
<appender-ref ref="RollingFile" />
</root>
</configuration>
Aplicações de primavera
O framework Spring funciona lendo o arquivo application.properties do Spring para várias configurações, incluindo a configuração de registo. No entanto, é possível configurar o aplicativo Spring para ler as configurações de Logback de qualquer arquivo. Para fazer isso, configure a propriedade
logging.config=classpath:logback.xml
Próximos passos
Este artigo abordou a configuração do Logback 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
Depois de dominar o registo, considere examinar as integrações que o Azure oferece em frameworks como o Spring.