Giriş
Eğer herhangi bir şey tanımlanmazsa JUL kullanılır. Açıklaması
şöyle
... the default logging type of Hazelcast IMDG is JDK logging
Eğer bir başka log kütüphanesi kullanmak istersek
1. hazelcast.logging.type ile hangi loglama çatısını kullanmak istediğimizi belirtir
2. Hazelcast ile hazır gelen log kütüphanesine ait dosyayı değil de kendi dosyamızı kullanmak istersek, bu dosyanın yolunu belirtmek gerekir
Log Ayarları Nerede Belirtilir
1. XML dosyasında
2. YAML dosyasında
3. Ortam değişkeni olarak
4. JVM parametresi olarak
gibi bir sürü imkan var
1. Log4J2
Log4J2 için kullanılan ayar dosyası belirli bir önceliğe göre aranıyor. Öncelik sıralaması
burada tanımlı
Sadece Log Kütüphanesini Belirtmek
Örnek - XML
<properties>
<property name="hazelcast.logging.type">log4j2</property>
/properties>
Örnek - YML
Şöyle yaparız
hazelcast-client:
...
properties:
hazelcast.logging.type: log4j2
Örnek - Unit Test
Unit Test içinde şöyle yaparız
@ClassRule
public static final OverridePropertyRule enableLogging =
set("hazelcast.logging.type", "log4j2");
src/test/resources/log4j2.xml dosyasında şöyle
yaparız. Konsola sadece WARN mesajları basar.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Appenders>
<!-- Console appender configuration -->
<Console name="console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</Console>
</Appenders>
<Loggers>
<!-- Root logger referring to console appender -->
<Root level="info" additivity="false">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>
Log Kütüphanesini Belirtmek + Kendi Ayar Dosyamız
Örnek -
Şöyle
yaparız. Burada hem log kütüphanesini belirtiyoruz, hem de kendi log ayar dosyamızı kullanıyoruz
System.setProperty("hazelcast.logging.type","log4j2");
System.setProperty("log4j2.configurationFile", "file:///.../mylog.properties");