log4j - Günlük Düzeyleri
org.apache.log4j.Levelseviyeleri. Özel seviyelerinizi, alt sınıflara ayırarak da tanımlayabilirsiniz.Level sınıf.
Seviye | Açıklama |
---|---|
HERŞEY | Özel seviyeler dahil tüm seviyeler. |
HATA AYIKLA | Bir uygulamada hata ayıklamak için en yararlı olan ayrıntılı bilgi olaylarını belirtir. |
BİLGİ | Uygulamanın ilerlemesini genel düzeyde vurgulayan bilgi mesajlarını belirtir. |
UYARI | Potansiyel olarak zararlı durumları belirtir. |
HATA | Yine de uygulamanın çalışmaya devam etmesine izin verebilecek hata olaylarını belirtir. |
ÖLÜMCÜL | Muhtemelen uygulamanın iptal edilmesine neden olacak çok ciddi hata olaylarını belirtir. |
KAPALI | Mümkün olan en yüksek derece ve günlük kaydını kapatması amaçlanmıştır. |
İZLEME | DEBUG'tan daha ince taneli bilgi olaylarını belirtir. |
Seviyeler Nasıl Çalışır?
Seviye günlük isteği p seviyeli bir kaydedicide q dır-dir enabledp> = q ise. Bu kural log4j'nin kalbindedir. Seviyelerin sıralandığını varsayar. Standart seviyeler için TÜM <DEBUG <INFO <WARN <ERROR <FATAL <OFF var.
Aşağıdaki örnek, tüm DEBUG ve INFO mesajlarımıza nasıl filtre uygulayabileceğimizi gösterir. Bu program, istenen günlük kaydı seviyesini ayarlamak için setLevel (Level.X) logger yöntemini kullanır:
Bu örnek, Debug ve Info dışındaki tüm mesajları yazdırır:
import org.apache.log4j.*;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.setLevel(Level.WARN);
log.trace("Trace Message!");
log.debug("Debug Message!");
log.info("Info Message!");
log.warn("Warn Message!");
log.error("Error Message!");
log.fatal("Fatal Message!");
}
}
Derleyip çalıştırdığınızda LogClass program, aşağıdaki sonucu üretecektir -
Warn Message!
Error Message!
Fatal Message!
Yapılandırma Dosyasını Kullanarak Düzeyleri Ayarlama
log4j, hata ayıklama seviyesini değiştirmek istediğinizde kaynak kodunu değiştirmekten sizi özgür kılan konfigürasyon dosyası tabanlı seviye ayarı sağlar.
Aşağıda, kullandığımızla aynı görevi gerçekleştirecek örnek bir yapılandırma dosyası verilmiştir. log.setLevel(Level.WARN) Yukarıdaki örnekteki yöntem.
# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = WARN, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Şimdi aşağıdaki programımızı kullanalım -
import org.apache.log4j.*;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.trace("Trace Message!");
log.debug("Debug Message!");
log.info("Info Message!");
log.warn("Warn Message!");
log.error("Error Message!");
log.fatal("Fatal Message!");
}
}
Şimdi yukarıdaki programı derleyin ve çalıştırın ve aşağıdaki sonucu alacaksınız /usr/home/log4j/log.out dosya -
Warn Message!
Error Message!
Fatal Message!