SORU
16 HAZİRAN 2011, PERŞEMBE


slf4j: biçimlendirilmiş ileti günlüğünü nasıl, nesne dizisi, istisna

Doldurulmuş bir mesaj ve bir iki günlük için doğru yaklaşım özel durum yığın izlemesi nedir?

logger.error(
    "\ncontext info one two three: {} {} {}\n",
    new Object[] {"1", "2", "3"},
    new Exception("something went wrong"));

Bir çıkış buna benzer üretmek istiyorum

context info one two three: 1 2 3
java.lang.Exception: something went wrong
stacktrace 0
stacktrace 1
stacktrace ...

slf4j sürüm 1.6.1

CEVAP
16 HAZİRAN 2011, PERŞEMBE


Olarak SLF4J 1.6.0, bölgede birden çok parametre ve eğer son değişken bir günlük deyim bir istisnadır, sonra SLF4J olacak sanırım kullanıcı istediği son argüman tedavi edilecek bir durum değil, basit bir parametre. Ayrıca relevant FAQ entry bkz.

Bu yüzden, yazma (SLF4J sürüm 1.7.x ve üstü)

 logger.error("one two three: {} {} {}", "a", "b", 
              "c", new Exception("something went wrong"));

ya yazma (SLF4J sürüm 1.6.x)

 logger.error("one two three: {} {} {}", new Object[] {"a", "b", 
              "c", new Exception("something went wrong")});

verecektir

one two three: a b c
java.lang.Exception: something went wrong
    at Example.main(Example.java:13)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at ...

Tam çıkış yatan çerçevesinde nasıl yapılandırıldığına temel çerçevesi (, log4j, vb model alınarak) da bağlıdır. Eğer son parametre bir istisna ise, bu tür ne olursa olsun, temel çerçeve olarak algılanacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Case

    Justin Case

    3 EKİM 2011
  • MrDevin521

    MrDevin521

    18 Temmuz 2010
  • Sams Page :D

    Sams Page :D

    15 Mart 2009