[JAVA] Log4j 1.2.12 Additivität, ConsoleAppender

Hinweis: Am 5. August 2015 gab das Project Management Committee von Logging Services bekannt, dass Log4j 1.x das Ende seiner Lebensdauer erreicht hat. / Log4j Version 1 wird nicht mehr unterstützt ... aber ich untersuche immer noch log4j-1.2.

ursprünglich log4j-1.2.8 Auf eine Anwendung, die nur da war

log4j-1.2.12 Mit der Aufnahme von stimmt etwas nicht. Das Protokoll wird zweimal angezeigt. Und gehen Sie ungewollt zu System Out ... Dies ist ein Memo über diese beiden Punkte.

Verdoppeln

Zuallererst scheint dieser Bereich mit dem Punkt verbunden zu sein, an dem er zweimal auftritt. Additivität

Informationen zur Loggerhierarchie und zum Additivitätsverhalten von log4j

Additivity is set to true by default, that is children inherit the appenders of their ancestors by default. Die Additivität ist standardmäßig auf true festgelegt, und Kinder erben standardmäßig von ihren Ahnen-Appendern.

Wird unbeabsichtigt in System Out angezeigt

Wenn Sie sich für SystemOut log4j change history ansehen, ist Folgendes verdächtig.

Zitat.

--1.2.12 TRACE-Ebene eingeführt, ConsoleAppender geändert, um der Umleitung von System.out zu folgen Die TRACE-Ebene wurde eingeführt und ConsoleAppender wurde geändert, um System.out-Weiterleitungen zu folgen. --1.2.13 Fehlende Informationen auf TRACE-Ebene behoben, ConsoleAppender.follow hinzugefügt, um die Umleitung nach einem optionalen Verhalten durchzuführen . Korrigieren Sie fehlende Informationen auf TRACE-Ebene, fügen Sie ConsoleAppender.follow hinzu und leiten Sie um, um eine Aktion auszuführen Hat.

Es sieht so aus, als hätte sich auch das Verhalten von ConsoleAppender geändert. [^ 1] Solange Sie hier "1.2.17" versuchen, kehrt das Verhalten zu "1.2.8" zurück.

Kompatibilität

API/ABI changes review for log4j

Ich möchte aufschreiben, was ich bisher untersucht habe, um zu sehen, ob es in Ordnung ist, es für geschäftliche Zwecke auf "1.2.17" zu erhöhen. Es scheint auch, dass Log4j eine [Sicherheitslücke in Bezug auf die Deserialisierung unzuverlässiger Daten] aufweist (https://jvndb.jvn.jp/ja/contents/2019/JVNDB-2019-013606.html), die jedoch vorerst anwendbar ist. Es schien nicht getan zu sein, also notieren Sie es sich.

Recommended Posts

Log4j 1.2.12 Additivität, ConsoleAppender
log4j2