Megosztás a következőn keresztül:


Jelentkezzen be az Azure SDK for Java és a Logback használatával

Ez a cikk áttekintést nyújt arról, hogyan adhat naplózást a Logback használatával az Azure SDK for Java-t használó alkalmazásokhoz. Ahogy az A naplózás konfigurálása az Azure SDK for Java-ban című témakörben leírtak szerint az összes Azure-ügyfélkönyvtár a SLF4Jsegítségével naplóz, így olyan naplózási keretrendszereket használhat, mint a Logback.

A naplózás engedélyezéséhez két dolgot kell tennie:

  1. Logback könyvtár hozzáadása függőségként,
  2. Hozzon létre egy logback.xml nevű fájlt a /src/main/resources projektkönyvtárban.

A Logback konfigurálásával kapcsolatos további információkért tekintse meg a Logback konfiguráció című részt a Logback dokumentációjában.

A Maven-függőség hozzáadása

A Maven-függőség hozzáadásához adja hozzá a következő XML-t a projekt pom.xml fájljába. Cserélje le a 1.2.3 verziószámot a legújabb kiadott verziószámra, amely a Logback Classic Modul oldal-on látható.

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>

Add hozzá a logback.xml-t a projekthez

logback az egyik népszerű naplózási keretrendszer. A naplózás engedélyezéséhez hozzon létre egy logback.xml nevű fájlt a projekt ./src/main/resources könyvtárában. Ez a fájl a naplózási igények testreszabásához szükséges naplózási konfigurációkat tartalmazza. További információkért a logback.xmlkonfigurálásáról tekintse meg a Logback konfiguráció részt a Logback dokumentációjában.

Konzolnaplózás

A következő példában látható módon létrehozhat egy bejelentkezési konfigurációt a konzolra való bejelentkezéshez. Ez a példa úgy van konfigurálva, hogy minden olyan naplózási eseményt naplózzanak, amely információs szintű vagy magasabb szintű, bárhol is legyenek azok.

<?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 alapvető hibák naplózása

Az alábbi példakonfiguráció hasonló az előző konfigurációhoz, de csökkenti azt a szintet, amelyen a naplózás az összes com.azure.core csomagolt osztályból származik (beleértve az alcsomagokat is). Így minden INFO-szintű és magasabb szintű naplózva lesz, kivéve a com.azure.coreesetében, ahol csak hibaszintű és magasabb szintű naplózva lesz. Ezt a megközelítést például akkor használhatja, ha a kódot túl zajosnak találja com.azure.core. Ez a konfiguráció mindkét módon használható. Ha például több hibakeresési információt szeretne lekérni com.azure.coreosztályaiból, ezt a beállítást DEBUG értékre módosíthatja.

Az egyes osztályok vagy csomagok naplózását részletesen szabályozhatja. Ahogy az itt látható, com.azure.core az összes alaposztály kimenetét vezérli, de com.azure.security.keyvault vagy azzal egyenértékű módon szabályozhatja a kimenetet a futó alkalmazás kontextusában leginformatívabb körülmények között.

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

Naplózás fájlba bekapcsolt forgó naplózással

Az előző példák naplóznak a konzolra, amely általában nem a naplók előnyben részesített helye. Ehelyett az alábbi konfigurációval jelentkezzen be egy fájlba óránkénti visszaállítással és gzip formátumban történő archiválással:

<?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-alkalmazások

A Spring-keretrendszer a Spring application.properties fájl olvasásával működik különböző konfigurációkhoz, beleértve a naplózási konfigurációt is. A Spring-alkalmazás úgy konfigurálható, hogy a Logback beállításait bármilyen fájlból beolvassa. Ehhez konfigurálja a logging.config tulajdonságot úgy, hogy a logback.xml konfigurációs fájlra mutasson a következő sor hozzáadásával a Spring /src/main/resources/application.properties fájlba:

logging.config=classpath:logback.xml

Következő lépések

Ez a cikk a logback konfigurálását és azt ismerteti, hogyan használhatja a Java-hoz készült Azure SDK-t naplózásra. Mivel az Azure SDK for Java az összes SLF4J naplózási keretrendszerrel működik, további részletekért tekintse át az SLF4J felhasználói kézikönyvét. Ha a Logbacket használja, a webhelyén is rengeteg konfigurációs útmutató található. További információért lásd a Logback konfiguráció a Logback dokumentációjában.

Miután elsajátította a naplózást, fontolja meg az Azure által kínált integrációkat olyan keretrendszerekbe, mint a Spring és MicroProfile.