log4j - Dosyalarda Oturum Açma
Günlük bilgilerinizi bir dosyaya yazmak için şunu kullanmanız gerekir: org.apache.log4j.FileAppender.
FileAppender Yapılandırması
FileAppender aşağıdaki yapılandırılabilir parametrelere sahiptir:
Emlak | Açıklama |
---|---|
instantFlush | Bu bayrak varsayılan olarak true değerine ayarlıdır; bu, her ekleme işlemiyle temizlenen dosyaya çıkış akışı anlamına gelir. |
kodlama | Herhangi bir karakter kodlamasını kullanmak mümkündür. Varsayılan olarak, platforma özgü kodlama şemasıdır. |
eşik | Bu ekleyici için eşik seviyesi. |
Dosya adı | Günlük dosyasının adı. |
fileAppend | Bu, varsayılan olarak true değerine ayarlıdır; bu, günlük bilgilerinin aynı dosyanın sonuna ekleneceği anlamına gelir. |
bufferedIO | Bu bayrak, arabelleğe alınmış yazmanın etkinleştirilmesine ihtiyacımız olup olmadığını gösterir. Varsayılan olarak, false değerine ayarlanmıştır. |
bufferSize | Arabelleğe alınan G / Ç etkinleştirilirse, arabellek boyutunu gösterir. Varsayılan olarak 8kb olarak ayarlanmıştır. |
Aşağıda örnek bir yapılandırma dosyası verilmiştir log4j.properties FileAppender için -
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Yukarıdakine eşdeğer bir XML yapılandırma dosyasına sahip olmak istiyorsanız log4j.properties dosya, ardından içerik şu şekildedir:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="file" value="${log}/log.out"/>
<param name="immediateFlush" value="true"/>
<param name="threshold" value="debug"/>
<param name="append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%m%n"/>
</layout>
</appender>
<logger name="log4j.rootLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="FILE"/>
</logger>
</log4j:configuration>
Log4j - Örnek Program'ı yukarıdaki yapılandırmayla deneyebilirsiniz .
Birden Fazla Dosyada Oturum Açma
Günlük mesajlarınızı belirli nedenlerle, örneğin dosya boyutu belirli bir eşiğe ulaştığında birden çok dosyaya yazmak isteyebilirsiniz.
Günlük bilgilerinizi birden çok dosyaya yazmak için şunu kullanmanız gerekir: org.apache.log4j.RollingFileAppender genişleyen sınıf FileAppender sınıf ve tüm özelliklerini miras alır.
FileAppender için yukarıda belirtilenlere ek olarak aşağıdaki yapılandırılabilir parametrelere sahibiz -
Emlak | Açıklama |
---|---|
Maksimum Dosya Boyutu | Bu, dosyanın üzerine alınacağı kritik dosyanın boyutudur. Varsayılan değer 10 MB'dir. |
maxBackupIndex | Bu özellik, oluşturulacak yedekleme dosyalarının sayısını belirtir. Varsayılan değer 1'dir. |
Aşağıda örnek bir yapılandırma dosyası verilmiştir log4j.properties RollingFileAppender için.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the maximum file size before rollover
log4j.appender.FILE.MaxFileSize=5MB
# Set the the backup index
log4j.appender.FILE.MaxBackupIndex=2
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Bir XML yapılandırma dosyasına sahip olmak istiyorsanız, ilk bölümde belirtilenin aynısını oluşturabilir ve yalnızca aşağıdakilerle ilgili ek parametreleri ekleyebilirsiniz RollingFileAppender.
Bu örnek yapılandırma, her günlük dosyasının izin verilen maksimum boyutunun 5 MB olduğunu gösterir. Maksimum boyut aşıldığında, yeni bir günlük dosyası oluşturulacaktır. Dan berimaxBackupIndex 2 olarak tanımlanır, ikinci günlük dosyası maksimum boyuta ulaştığında, ilk günlük dosyası silinecek ve daha sonra tüm günlük bilgileri ilk günlük dosyasına geri alınacaktır.
Log4j - Örnek Program'ı yukarıdaki yapılandırmayla deneyebilirsiniz .
Günlük Günlük Dosyası Oluşturma
Günlük bilgilerinizin temiz bir kaydını tutmak için günlük dosyalarınızı günlük olarak oluşturmanız gerekebilir.
Günlük bilgilerinizi günlük olarak dosyalara yazmak için şunu kullanmanız gerekir: org.apache.log4j.DailyRollingFileAppender genişleyen sınıf FileAppender sınıf ve tüm özelliklerini miras alır.
FileAppender için yukarıda belirtilenlere ek olarak yalnızca bir tane önemli yapılandırılabilir parametre vardır:
Emlak | Açıklama |
---|---|
DatePattern | Bu, dosyanın ne zaman devredileceğini ve izlenecek adlandırma kuralını gösterir. Varsayılan olarak, devir her gün gece yarısında gerçekleştirilir. |
DatePattern, aşağıdaki modellerden birini kullanarak rollover programını kontrol eder:
DatePattern | Açıklama |
---|---|
"." yyyy-MM | Her ayın sonunda ve sonraki ayın başında devir yapın. |
"." yyyy-AA-gg | Her gün gece yarısı çevirin. Bu varsayılan değerdir. |
"." yyyy-AA-gg-a | Her gün öğlen ve gece yarısı döndürün. |
"." yyyy-AA-gg-HH | Her saat başı dönün. |
"." yyyy-AA-gg-HH-mm | Her dakika çevirin. |
"." yyyy-ww | Yerel ayara bağlı olarak her haftanın ilk gününde çevirin. |
Aşağıda örnek bir yapılandırma dosyası verilmiştir log4j.properties her gün öğlen ve gece yarısı yuvarlanan günlük dosyaları oluşturmak için.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the DatePattern
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Bir XML yapılandırma dosyasına sahip olmak istiyorsanız, ilk bölümde belirtilenin aynısını oluşturabilir ve yalnızca aşağıdakilerle ilgili ek parametreleri ekleyebilirsiniz DailyRollingFileAppender.
Log4j - Örnek Program'ı yukarıdaki yapılandırmayla deneyebilirsiniz .