E-postaları desteklemek için otomatik olarak günlük dosyalarını eklemek yararlı olur. Yolu programsal olarak (Setting Logback Appender path programmatically'da olduğu gibi) ayarlayabilirim, ancak kullanıcıların logback.xml
aracılığıyla tanıdık şekilde günlüğe kaydetmeyi yapılandırmasına izin vermeyi tercih ederim. Yani, logback için logback kullanımlarını bulabilir miyim?Logback log dosyalarını programlı olarak bulmak mümkün mü?
cevap
Belirli bir bağlamda tüm eklerin listesini alabilirsiniz. Bunun için:
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext();) {
Appender<ILoggingEvent> appender = index.next();
}
}
Bu yineler geçerli bağlam için tüm kaydedicilerinin tüm appenders listesinin üzerine.
iteratorForAppenders metodu artık logger üzerinde mevcut değil (http://www.slf4j.org/apidocs/org/slf4j/Logger.html). Şimdi nasıl çalıştığına dair bir fikrin var mı? – user3885927
@ user3885927 ch.qos.logback.classic.Logger dosyasını içe aktardığınızdan emin olun ve org.slf4j.Logger! – Catchwa
@ tafoo85 tarafından verilen yanıt doğrudur ancak size yalnızca ekleri verecektir.
Logback logger tarafından kullanılan daha özel bir get dosyası için, umarım aşağıdaki kod bir kısmına yardımcı olur.
File clientLogFile;
FileAppender<?> fileAppender = null;
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList())
{
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders();
index.hasNext();)
{
Object enumElement = index.next();
if (enumElement instanceof FileAppender) {
fileAppender=(FileAppender<?>)enumElement;
}
}
}
if (fileAppender != null) {
clientLogFile=new File(fileAppender.getFile());
}
else {
clientLogFile = null;
}
Log.d("logfile path", clientLogFile.getAbsolutePath());
Tam olarak ihtiyacım olan şeydi, ancak Object enumElement = index.next(); 'ila Addender
@danial daha spesifik olacaktır. ama 2-3 dosya kaydedici (hata ayıklama ve izleme) istiyorsanız, bu kod mükemmel çalışacaktır. – androidnoobdev
- 1. Onbeforeunload olayını programlı olarak tetiklemek mümkün mü?
- 2. iPhone'u programlı olarak kapatmak mümkün mü?
- 3. Info.plist'i düzenleme programlı olarak mümkün mü?
- 4. Web sitesi verilerinin kaynağını bulmak mümkün mü?
- 5. App engine blobstore'da artık blobları bulmak ve silmek mümkün mü?
- 6. Yerel tepki olarak kapatılmamış jsx etiketleri bulmak mümkün mü? Eslint
- 7. Kullanıcı Denetimi Silverlight Kılavuz Sütunu'na programlı olarak eklemek mümkün mü?
- 8. APPWIDGET_UPDATE için programlı olarak bir amaç atmak mümkün mü?
- 9. Dosyaları programlı olarak kablosuz bir SD karta itmek mümkün mü?
- 10. Vardiya ve kontrol tuşlarının durumunu programlı olarak ayarlamak mümkün mü?
- 11. USB iletişim modunu programlı olarak tanımlamak mümkün mü?
- 12. Google'dan programlı olarak PC'ye oynamak için apk indirmek mümkün mü?
- 13. Arama yığınını programlı olarak VB6'ya almak mümkün mü?
- 14. Scala REPL istemini programlı olarak değiştirmek mümkün mü?
- 15. .Gitignore dosyalarını SVN dışında tutmak mümkün mü?
- 16. Doküman dosyalarını Python ile düzenlemek mümkün mü?
- 17. Logback log.debug Logback çalışmıyor
- 18. günlük dosyasında ifadeleri log almak için logback slf4j yapamaz
- 19. Programlı C maksimum statik dizi boyutunu bulmak ++
- 20. LESS dosyalarını, lessc kullanarak yorumları kaldırmadan sıkıştırmak mümkün mü?
- 21. Çözülmeyen dışsalları programlı olarak bulmak için llvm :: Linker'ı kullanma
- 22. D3.js'deki keneler arasındaki mesafeyi bulmak mümkün mü?
- 23. Haskell'de saf λ fonksiyonunun normalleştirilmiş kaynağını bulmak mümkün mü?
- 24. Ruby on Rails uygulamasında hangi sınıfların kullanılmadığını bulmak mümkün mü?
- 25. VNC bağlantısının etkin olup olmadığını bulmak mümkün mü
- 26. Type nesnesinin sınıf yolunu bulmak mümkün mü? (ör. com.test.xyz.CLASSNAME)
- 27. Belirli protokolleri uygulayan tüm modülleri bulmak mümkün mü?
- 28. Sadece C# kullanarak programlı bir X509 sertifikası oluşturmak mümkün mü?
- 29. Logback
- 30. C# programlı olarak TNSPing gerçekleştirin
Üzgünüz, ama sorumu anlayamıyorum. Biraz genişletebilir misin? – Ceki
@Ceki: daha genel olarak, Logback tarafından kullanılan tüm eklerin listesini alabilir miyim? –