Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera omówienie sposobu dodawania rejestrowania przy użyciu funkcji Logback do aplikacji korzystających z Azure SDK na potrzeby Java. Jak wspomniano w Konfigurowanie rejestrowania w zestawie Azure SDK dla języka Java, wszystkie biblioteki klienckie platformy Azure logują się za pośrednictwem SLF4J, dzięki czemu można używać struktur rejestrowania, takich jak Logback.
Aby włączyć logowanie za pomocą Logback, wykonaj dwa kroki:
- Dołącz bibliotekę Logback jako zależność.
- Utwórz plik o nazwie logback.xml w katalogu projektu /src/main/resources .
Aby uzyskać więcej informacji na temat konfigurowania usługi Logback, zobacz Konfiguracja logback w dokumentacji usługi Logback.
Dodaj zależność Maven
Aby dodać zależność narzędzia Maven, dołącz następujący kod XML do pliku pom.xml projektu. Zastąp numer wersji 1.2.3 najnowszym numerem wersji widocznym na stronie Logback Classic Module.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
Dodaj logback.xml do projektu
Logback jest jednym z popularnych systemów logowania. Aby włączyć rejestrowanie logback, utwórz plik o nazwie logback.xml w katalogu ./src/main/resources projektu. Ten plik zawiera konfiguracje rejestrowania w celu dostosowania potrzeb rejestrowania. Aby uzyskać więcej informacji na temat konfigurowania logback.xml, zobacz konfigurację Logback w dokumentacji Logback.
Rejestrowanie konsoli
Konfigurację logback można utworzyć, aby zalogować się do konsoli, jak pokazano w poniższym przykładzie. Ten przykład jest skonfigurowany do rejestrowania wszystkich zdarzeń dziennika na poziomie INFO lub wyższym, niezależnie od ich źródła.
<?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>
Rejestrowanie błędów podstawowych platformy Azure
Poniższa przykładowa konfiguracja jest podobna do poprzedniej konfiguracji, ale obniża poziom dla wszystkich com.azure.core spakowanych klas (w tym podpakietów). W ten sposób rejestrowane są wszystkie komunikaty na poziomie INFO i wyższym, z wyjątkiem com.azure.core, gdzie rejestrowane są tylko komunikaty na poziomie ERROR i wyższym. Możesz na przykład użyć tego podejścia, jeśli znajdziesz kod w com.azure.core zbyt hałaśliwy. Ten rodzaj konfiguracji może również działać w obie strony. Jeśli na przykład chcesz uzyskać więcej informacji o debugowaniu z klas w com.azure.core, możesz zmienić to ustawienie na DEBUGOWANIE.
Można kontrolować rejestrowanie określonych klas lub pakietów. Jak pokazano tutaj, com.azure.core steruje danymi wyjściowymi wszystkich klas podstawowych, ale można również użyć com.azure.security.keyvault lub odpowiednika, aby sterować danymi wyjściowymi odpowiednio do okoliczności, które są najbardziej informacyjne w kontekście działającej aplikacji.
<?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>
Zaloguj się do pliku z włączoną rotacją dziennika
Poprzednie przykłady logują do konsoli, która zazwyczaj nie jest preferowaną lokalizacją dla logów. Użyj następującej konfiguracji, aby zamiast tego zalogować się do pliku z funkcją przerzucania godzinowego i archiwizowania w formacie 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>
Aplikacje Spring
Framework Spring działa przez odczytanie pliku spring application.properties w celu wczytania różnych konfiguracji, w tym konfiguracji logowania. Aplikację Spring można skonfigurować tak, aby odczytywała konfiguracje logback z dowolnego pliku. W tym celu skonfiguruj właściwość logging.config, aby wskazywała plik konfiguracji logback.xml, dodając następujący wiersz do pliku Spring /src/main/resources/application.properties:
logging.config=classpath:logback.xml
Następne kroki
W tym artykule opisano konfigurację usługi Logback i sposób używania go do rejestrowania za pomocą zestawu Azure SDK dla języka Java. Ponieważ zestaw Azure SDK dla języka Java współpracuje ze wszystkimi strukturami rejestrowania SLF4J, rozważ przejrzenie podręcznika użytkownika
Gdy opanujesz rejestrowanie, rozważ zapoznanie się z integracjami, które Azure oferuje dla frameworków takich jak Spring.