Project

General

Profile

feature request #6599

Updated by Andreas Kohlbecker almost 4 years ago

AK:  

 Da wir schon beim Thema Logging sind: 
 Warum verwenden wir in der CDMLib eigentlich keine logging facade (SLF4J), sondern log4j direkt? Eine teilweise automatische Migration wäre möglich https://www.slf4j.org/migrator.html 
 Andererseits: Log4j unterstützt schon lambdas, was das logging viel eleganter macht*, bei SLF4J hingegen ist das noch "in der Mache": https://jira.qos.ch/browse/SLF4J-371 
 
 *also keine if(logger.isDebugEnabled()) {logger.debug(bean.heavyComputing());} Konstrukte mehr, sondern nur logger.debug(() -> bean.heavyComputing()); 


 UPDATE: Logback is ein moderneres "Remake" von log4j des selben Entwicklers und sollte bei den Überlegungen hier berücksichtigt werden. 

 --- === 

 Also interesting (static vs. non static logging) :  

 https://www.slf4j.org/faq.html#declared_static 

 Interessant! Würdest du für uns daraus etwas folgern? Bislang scheint es mir richtig zu sein, die "static" Methode zu verwenden, wie wir es ja auch machen. 
 
 Ich meine auch, dass wir es richtig machen. Wir haben zwar eine "Library", die ist aber keine zwischen verschiedenen Anwendungen gemeinsam verwendete Library, daher bekommen wir keine Probleme. 
 Diese sind zum Beispiel Libraries die vom Applicationserver (Jetty) zur Verfügung gestellt werden. Im Falle unseres CDM-Servers verwenden wir ein und das selbe war-file für alle Instanzen - also doch eine gemeinsam verwendete Library. Aber wir haben keine Probleme damit weil für jede Instanz ein eigener Classloader verwendet wird. 
 Meine Aussage hier ist mehr Meinung als wissen. Dieser Artikel https://wiki.apache.org/commons/Logging/StaticLog geht auf die Details genauer ein, hab ich aber noch nicht gelesen. Vielleicht bringt er mehr Klarheit. 

Back