Aracılığıyla paylaş


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. Javaiçin Azure SDK'sında günlüğe kaydetmeyi yapılandırma bölümünde belirtildiği gibi, tüm Azure istemci kitaplıkları SLF4Jüzerinden oturum açar, böylece log4jgibi 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 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

CVE-2021-44228bilinen 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ı Kullanımı

projenin /src/main/resources dizinine log4j2.properties adlı bir düz özellikler dosyası 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'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!

Günlüğe kaydetme konusunda ustalaştıktan sonra Azure'ın Spring ve MicroProfilegibi çerçevelerde sunduğu tümleştirmeleri gözden geçirmeyi değerlendirin.