Java ve Log4j için Azure SDK ile günlüğe kaydetme

Bu makalede, Java için Azure SDK'sını kullanan uygulamalara Log4j kullanarak günlüğe kaydetme ekleme hakkında genel bir bakış sağlanmaktadır. Java için Azure SDK'da günlüğü yapılandırma bölümünde belirtildiği gibi, tüm Azure istemci kitaplıkları SLF4J üzerinden oturum açar, böylece log4j gibi günlük çerçevelerini kullanabilirsiniz.

Bu makale Log4J 2.x sürümlerini kullanma konusunda rehberlik sağlar, ancak Log4J 1.x, Java için Azure SDK'sı tarafından da aynı şekilde desteklenir. log4j günlüğünü etkinleştirmek için iki şey yapmanız gerekir:

  1. Log4j kitaplığını bağımlılık olarak dahil edin,
  2. /src/main/resources proje dizini altında bir yapılandırma dosyası (log4j2.properties veya log4j2.xml) oluşturun.

log4j yapılandırmasıyla ilgili daha fazla bilgi için bkz . Log4j 2'ye Hoş Geldiniz.

Maven bağımlılığını ekleme

Maven bağımlılığını eklemek için projenin pom.xml dosyasına aşağıdaki XML'yi ekleyin. 2.16.0 sürüm numarasını Apache Log4j SLF4J Bağlama sayfasında gösterilen en son sürüm numarasıyla değiştirin.

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

Dekont

Bilinen CVE-2021-44228 güvenlik açığı nedeniyle Log4j sürüm 2.16 veya üzerini kullandığınızdan emin olun

Log4j'yi yapılandırma

Log4j'yi yapılandırmanın iki yaygın yolu vardır: dış özellikler dosyası veya dış XML dosyası aracılığıyla. Bu yaklaşımlar aşağıda özetlenmiştir.

Özellik dosyası kullanma

Log4j2.properties adlı düz özellikler dosyasını projenin /src/main/resources dizinine yerleştirebilirsiniz. Bu dosya aşağıdaki biçimde olmalıdı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

XML dosyası kullanma

projenin /src/main/resources dizinine log4j2.xml adlı bir XML dosyası yerleştirebilirsiniz. Bu dosya aşağıdaki biçimde olmalıdı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>

Sonraki adımlar

Bu makalede Log4j yapılandırması ve Java için Azure SDK'sının günlüğe kaydetme için nasıl kullanılacağı ele alınmıştır. Java için Azure SDK tüm SLF4J günlük çerçeveleriyle çalıştığından , diğer ayrıntılar için SLF4J kullanıcı kılavuzunu gözden geçirmeyi göz önünde bulundurun. Log4j kullanıyorsanız web sitesinde büyük miktarda yapılandırma kılavuzu da vardır. Daha fazla bilgi için bkz . Log4j 2'ye Hoş Geldiniz!

Günlüğe kaydetme konusunda ustalaşdıktan sonra Azure'ın Spring ve MicroProfile gibi çerçevelerde sunduğu tümleştirmeleri gözden geçirmeyi göz önünde bulundurun.