Azure SDK ve Log4j kullanarak Java ile günlüğe kaydetme

Bu makalede, Java için Azure SDK kullanan uygulamalar için Log4j'nin nasıl yapılandırıldığını gösterir. Java için Azure SDK günlüğü yapılandırma bölümünde belirtildiği gibi, tüm Azure istemci kitaplıkları SLF4J'de oturum açar, böylece sorun gidermeyi basitleştirmek için Log4j 2 gibi çerçeveleri kullanabilirsiniz.

Bu makale Log4J 2.x sürümlerini kullanma konusunda rehberlik sağlar, ancak Java için Azure SDK Log4J 1.x'i de destekler. log4j günlüğünü etkinleştirmek için şu iki adımı tamamlayın:

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

log4j'yi yapılandırma hakkında 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 Binding sayfasında gösterilen en son çıkan 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>

Not

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 iki yaygın yolla yapılandırabilirsiniz: dış özellikler dosyası veya dış XML dosyası aracılığıyla. Aşağıdaki bölümlerde bu yaklaşımlar özetlenmiştir.

Özellikler dosyası kullanma

Projenin /src/main/resources dizinine log4j2.properties adlı bir düz özellikler dosyası yerleştirin. 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ştirin. Dosya şu yapıyı izlemelidir:

<?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'nin yapılandırılması ve Java için Azure SDK'nın bunu günlüğe kaydetme amacıyla nasıl kullanabileceği ele alınmıştır. Java için Azure SDK tüm SLF4J günlük çerçeveleriyle çalıştığından, daha fazla ayrıntı için SLF4J kullanıcı kılavuzu 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!

Ana günlüğe kaydetme işlemini tamamladıktan sonra, Azure Spring gibi çerçevelerde sunduğu tümleştirmeleri inceleyebilirsiniz.