2015-07-11 18 views
5

Tümü, bu sorunun birden çok kez gönderildiği gibi görünüyor, ancak hala sorunum için uygun bir çözüm bulamıyorum. Ben this ve this başvurdu, ancak çalışmıyor. mülkiyet dosyası altında gereğince Tarih ve zaman damgası ile her bir çalışma için log4j günlük dosyası oluşturma

, yeni bir dosya içinde tarihle her şey yaratılır Ama

logFileName_MM_DD_YY biçimi altında bir günlük dosyası oluşturmak ve her ve her Başvurum yürütülür oluşturulması gereken istiyorum (ya da) logFileName.log_YYYY_MM_DD_HH_MM_SS

# Root logger option 
log4j.rootLogger=INFO,file,stdout 

# Redirect log messages to console 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File=.\\logs\\AppLog.log 
log4j.appender.file.DatePattern='.'yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

cevap

3

DÜZENLEME -HH_MM_SS.log - DailyFileAppender öneri çıkarıldı.

public class NewFileOnRebootAppender extends FileAppender { 

    public NewFileOnRebootAppender() { 
    } 

    @Override 
    public void setFile(String file) { 
     super.setFile(prependDate(file)); 
    } 

    private static String prependDate(String filename) { 
     return System.currentTimeMillis() + "_" + filename; 
    } 
} 

Ve bu gibi kullanmak:

Bunu, kendi FileAppender oluşturabilir

log4j.appender.fileOnReboot=yourPackage.NewFileOnRebootAppender 
log4j.appender.fileOnReboot.File=appLogOnReboot.log 
log4j.appender.fileOnReboot.layout=org.apache.log4j.PatternLayout 
log4j.appender.fileOnReboot.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

dosyanın adlandırma mükemmel değil, ancak fikir ..

+0

Bunu denedim ama problem her dakika yeni bir günlük dosyası oluşturacak yani uygulama 6 dakika boyunca çalışıyorsa 6 log dosyası oluşturuluyor. ama benim uygulama her başlatıldığında oluşturulan bir günlük dosyası olması gerekir. – Cyborgz

+0

@Cyborgz, elbette haklısınız. Cevabımı güncelledim. – Ruben

+0

Test edildi ve Çalışıldı! Teşekkür ederim! – Cyborgz

İlgili konular