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.
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.
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.
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.