2014-09-23 36 views
13

Bazı yeni özelliklerinden yararlanmak için log4j2 kullanılarak yazılmış yeni bir uygulamam var. Kullandığı kütüphanelerden biri biraz daha büyük ve log4j 1.x ile oluşturuldu. Uygulamadaki yeni kodun günlüğe yazdığı bir sorun yaşıyorum, ancak eski kitaplıktaki kod günlüğe yazmıyor. Hatta eski kütüphanede bir şeyin bir alt sınıfı olan ve eski kütüphanede de kodla çağrılan bir sınıfım var ve bu kod da kütüğe yazmıyor. Uygulamayı, log4j2 sürüm 2.0.2'yi kullanacak şekilde yapılandırdım ve eski kitaplığa bir maven bağımlılığı olarak başvururken açık bir şekilde log4j'yi hariç tutuyorum.Karışım log4j 1.x ve log4j 2

Eski kitaplıktaki kodu yeni kodumla aynı dosyaya nasıl kaydedebilirim?

Yeniden yazma bir son çare seçenek

cevap

24

Eğer log4j2 log4j-1.2 için bir köprü içeren farkında mısınız olarak düşünülmelidir eski kütüphane? Eski log4j-1.2.17.jar kaldırarak kullanmak ve bu üç kavanoz şunları içerebilir:

  • log4j-api-2.x.jar
  • log4j-çekirdek-2.x.jar
  • log4j-1.2-api-2.x.jar Bu uygulama log4-1.2 API kolaylaştırır tüm aramalar neden olacaktır

log4j2 uygulanmasına yönlendirilecek. SSS, bir şeyleri açıklığa kavuşturabilecek bir diagram'a sahiptir. (Sınıf yolundan eski log4j-1.2 kavanozu çıkarmayı unutma!)

+1

Aynı zamanda 'log4j-jcl' eksik de görünüyor, ama şimdi çalışmayı kaydettiriyorum, teşekkürler! – FrustratedWithFormsDesigner

+0

Özel ekleriniz olduğunda bu işe yarar mı? –

+0

Özel Log4j2 ekleyicileri: evet. Özel log4j 1.2 ekleri: hayır. Bu bir API bağdaştırıcısı, uygulama değişti. Log4j2'ye özel uzantıları yönlendirmeniz gerekecek. –