Share via


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 Java loggar 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:

  1. Inkludera log4j-biblioteket som ett beroende,
  2. 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 versionsnumret 2.16.0 med det senaste versionsnumret som visas på sidan Apache Log4j SLF4J Binding.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.16.0</version>
</dependency>

Kommentar

På grund av kända säkerhetsrisker cve-2021-44228, se till att 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.