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:
- Logback könyvtár hozzáadása függőségként,
- 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.core
eseté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.core
osztá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.