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:
- Log4j kitaplığını bağımlılık olarak dahil edin,
- /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-44228
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.