Logga med Azure SDK för Java och Log4j
Den här artikeln innehåller en översikt över hur du lägger till loggning med Log4j i program som använder Azure SDK för Java. Som vi nämnde i Konfigurera loggning i Azure SDK för Javaloggar alla Azure-klientbibliotek via SLF4J-, så att du kan använda loggningsramverk som log4j.
Den här artikeln innehåller vägledning om hur du använder Log4J 2.x-versionerna, men Log4J 1.x stöds lika mycket av Azure SDK för Java. Om du vill aktivera log4j-loggning måste du göra två saker:
- Inkludera log4j-biblioteket som ett beroende,
- Skapa en konfigurationsfil (antingen log4j2.properties eller log4j2.xml) under projektkatalogen /src/main/resources.
Mer information om hur du konfigurerar log4j finns i Välkommen till Log4j 2.
Lägg till Maven-beroendet
Om du vill lägga till Maven-beroendet inkluderar du följande XML i projektets pom.xml-fil. Ersätt 2.16.0
versionsnumret med det senaste släppta versionsnumret som visas på sidan för Apache Log4j SLF4J-bindning.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.16.0</version>
</dependency>
Not
På grund av kända sårbarheter CVE-2021-44228ska du använda Log4j version 2.16 eller senare
Konfigurera Log4j
Det finns två vanliga sätt att konfigurera Log4j: via en extern egenskapsfil eller via en extern XML-fil. Dessa metoder beskrivs nedan.
Använda en egenskapsfil
Du kan placera en flat egenskapsfil med namnet log4j2.properties i katalogen /src/main/resources i projektet. Den här filen bör ha följande formulär:
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %5p [%t] %c{3} - %m%n
logger.app.name = com.azure.core
logger.app.level = ERROR
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
Använda en XML-fil
Du kan placera en XML-fil med namnet log4j2.xml i katalogen /src/main/resources i projektet. Den här filen bör ha följande formulär:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%t] %c{3} - %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.azure.core" level="error" additivity="true">
<appender-ref ref="console" />
</Logger>
<Root level="info" additivity="false">
<appender-ref ref="console" />
</Root>
</Loggers>
</Configuration>
Nästa steg
Den här artikeln beskriver konfigurationen av Log4j och hur du gör så att Azure SDK för Java använder det för loggning. Eftersom Azure SDK för Java fungerar med alla SLF4J-loggningsramverk kan du läsa användarhandboken för SLF4J för mer information. Om du använder Log4j finns det också en stor mängd konfigurationsvägledning på webbplatsen. Mer information finns i Välkommen till Log4j 2!
När du har bemästrat loggning kan du överväga att titta på de integreringar som Azure erbjuder i ramverk som Spring och MicroProfile.