Aanmelden met de Azure SDK voor Java en Logback
Dit artikel bevat een overzicht van het toevoegen van logboekregistratie met behulp van Logback aan toepassingen die gebruikmaken van de Azure SDK voor Java. Zoals vermeld in Logboekregistratie configureren in de Azure SDK voor Java, registreren alle Azure-clientbibliotheken zich via SLF4J-, zodat u logboekregistratieframeworks zoals Logback-kunt gebruiken.
Als u Logboekregistratie wilt inschakelen, moet u twee dingen doen:
- De Logback-bibliotheek opnemen als een afhankelijkheid,
- Maak een bestand met de naam logback.xml in de /src/main/resources projectmap.
Zie Logback-configuratie in de logback-documentatie voor meer informatie over het configureren van Logback.
De Maven-afhankelijkheid toevoegen
Als u de Maven-afhankelijkheid wilt toevoegen, neemt u de volgende XML op in het pom.xml-bestand van het project. Vervang het 1.2.3
versienummer door het meest recente versienummer dat wordt weergegeven op de Logback Classic Module-pagina.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
logback.xml toevoegen aan uw project
Logback- is een van de populaire frameworks voor logboekregistratie. Als u logboekregistratie wilt inschakelen, maakt u een bestand met de naam logback.xml in de ./src/main/resources map van uw project. Dit bestand bevat de configuraties voor logboekregistratie om uw logboekregistratiebehoeften aan te passen. Zie Logback-configuratie in de logback-documentatie voor meer informatie over het configureren van logback.xml.
Consolelogboekregistratie
U kunt een Logback-configuratie maken om u aan te melden bij de console, zoals wordt weergegeven in het volgende voorbeeld. Dit voorbeeld is geconfigureerd om alle logboekgebeurtenissen te registreren die infoniveau of hoger zijn, waar ze ook vandaan komen.
<?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>
Azure-kernfouten loggen
De volgende voorbeeldconfiguratie is vergelijkbaar met de vorige configuratie, maar verlaagt het niveau waarop logboekregistratie afkomstig is van alle com.azure.core
verpakte klassen (inclusief subpakketten). Op deze manier wordt alles op INFO-niveau en hoger geregistreerd, met uitzondering van com.azure.core
, waarbij alleen ERROR-niveau en hoger wordt vastgelegd. U kunt deze methode bijvoorbeeld gebruiken als u de code in com.azure.core
te luidruchtig vindt. Dit type configuratie kan ook op beide manieren worden gebruikt. Als u bijvoorbeeld meer foutopsporingsinformatie wilt ophalen uit klassen in com.azure.core
, kunt u deze instelling wijzigen in FOUTOPSPORING.
Het is mogelijk om gedetailleerde controle te hebben over de logboekregistratie van specifieke klassen of specifieke pakketten. Zoals hier wordt weergegeven, bepaalt com.azure.core
de uitvoer van alle kernklassen, maar u kunt ook com.azure.security.keyvault
of gelijkwaardig gebruiken om de uitvoer zo geschikt mogelijk te beheren voor de omstandigheden die het meest informatief zijn in de context van de actieve toepassing.
<?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>
Aanmelden bij een bestand waarvoor logboekrotatie is ingeschakeld
De vorige voorbeelden melden zich aan bij de console, wat normaal gesproken niet de voorkeurslocatie is voor logboeken. Gebruik de volgende configuratie om u in plaats daarvan aan te melden bij een bestand, met elk uur roll-over en archivering in gzip-indeling:
<?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>
Spring-toepassingen
Het Spring-framework werkt door het Spring application.properties-bestand te lezen voor uiteenlopende configuraties, waaronder de loggingconfiguratie. Het is echter mogelijk om de Spring-toepassing te configureren voor het lezen van Logback-configuraties uit elk bestand. Hiervoor configureert u de eigenschap logging.config
zodat deze verwijst naar het logback.xml-configuratiebestand door de volgende regel toe te voegen aan uw Spring /src/main/resources/application.properties bestand:
logging.config=classpath:logback.xml
Volgende stappen
Dit artikel heeft betrekking op de configuratie van Logback en hoe u de Azure SDK voor Java gebruikt voor logboekregistratie. Omdat de Azure SDK voor Java werkt met alle SLF4J-frameworks voor logboekregistratie, kunt u de SLF4J-gebruikershandleiding bekijken voor meer informatie. Als u Logback gebruikt, is er ook een grote hoeveelheid configuratierichtlijnen op de website. Zie Logback-configuratie in de logback-documentatie voor meer informatie.
Nadat u logboekregistratie hebt beheerd, kunt u overwegen om te kijken naar de integraties die Azure biedt in frameworks zoals Spring en MicroProfile.