Delen via


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:

  1. De Logback-bibliotheek opnemen als een afhankelijkheid,
  2. Maak een bestand met de naam logback.xml in de projectmap /src/main/resources .

Zie logbackconfiguratie in de documentatie voor Logback 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 versienummer 1.2.3 door het meest recente versienummer dat wordt weergegeven op de pagina klassieke module van Logback.

<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 map ./src/main/resources 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 vastleggen

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-level en hoger wordt geregistreerd. U kunt deze methode bijvoorbeeld gebruiken als u de code com.azure.core te luidruchtig vindt. Dit type configuratie kan ook op beide manieren worden gebruikt. Als u bijvoorbeeld meer foutopsporingsgegevens van klassen wilt com.azure.coreophalen, 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, com.azure.core bepaalt u de uitvoer van alle kernklassen, maar u kunt de uitvoer evenzeer gebruiken of gelijkwaardig om de uitvoer te beheren com.azure.security.keyvault als geschikt is 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 verschillende configuraties, waaronder de configuratie voor logboekregistratie. Het is echter mogelijk om de Spring-toepassing te configureren voor het lezen van Logback-configuraties uit elk bestand. Hiervoor configureert u de logging.config eigenschap zodat deze verwijst naar het logback.xml-configuratiebestand door de volgende regel toe te voegen aan het bestand Spring /src/main/resources/application.properties :

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 frameworks voor SLF4J-logboekregistratie, kunt u overwegen de gebruikershandleiding voor SLF4J te 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.