Lohnt es sich immer noch, die log4j-Bibliothek zu einem Java 5-Projekt hinzuzufügen, nur um zu protokollieren? Sagen wir einige Ausnahmen zu einer Datei mit einigen netten Rollover-Einstellungen. Oder erledigt auch die Standardfunktion util.logging die Aufgabe?
Was denken Sie?
java
logging
log4j
java.util.logging
Okami
quelle
quelle
Antworten:
Ich würde sagen, dass Sie mit util.logging für die von Ihnen beschriebenen Anforderungen wahrscheinlich gut zurechtkommen.
Einen guten Entscheidungsbaum finden Sie unter Log4j vs java.util.logging
Trotzdem scheint heutzutage so ziemlich jedes Projekt einschließlich log4j zu enden, schon allein deshalb, weil es von einer anderen Bibliothek verwendet wird.
quelle
Ich empfehle Ihnen, die Simple Logging Facade für Java (SLF4J) zu verwenden. Es unterstützt verschiedene Anbieter, einschließlich Log4J, und kann als Ersatz für Apache Commons Logging verwendet werden.
quelle
Log4j gibt es schon lange und es funktioniert sehr gut. Ich habe keine wissenschaftliche Studie, um dies zu belegen, aber basierend auf dem, was ich bei einer großen Anzahl von Kunden gesehen habe, ist es leicht das Protokollierungsframework, das ich mehr als jedes andere verwendet sehe. Es gibt es schon lange und es wurde nicht durch das Next Big Logging Framework ersetzt, das etwas aussagt.
Es ist kinderleicht einzurichten und die grundlegenden Appender (Ausgaben) zu erlernen. Es gibt eine ganze Reihe von Host-Appendern, einschließlich:
Plus andere. Es ist auch nicht schwierig, einen eigenen Appender zu schreiben. Darüber hinaus bietet jeder der Appender eine große Flexibilität, mit der Sie genau steuern können, was in Ihrem Protokoll ausgegeben wird.
Ein Hinweis: Ich hatte eine Reihe von Classloader-Problemen, als ich zusätzlich zu log4j die Apache-Commons-Protokollierung verwendete. Es war nur für eine bestimmte Anwendung, aber ich fand es einfacher, log4j allein zu verwenden, als die Flexibilität zu haben, die bei der Verwendung einer Abstraktionsschicht wie der Commons-Protokollierung geboten wird.
Weitere Informationen finden Sie in diesem Artikel :
Viel Glück!
quelle
java.util.logging bietet ein umfassendes Protokollierungspaket ohne das Übergepäck, das einige der anderen zur Verfügung stellen.
quelle
log4j ist insgesamt ein viel schöneres Paket und hat einige der Probleme, die java.util.logging enthält, nicht. Ich würde zweitens sagen, dass die direkte Verwendung von log4j einfacher ist als die Verwendung der Commons-Protokollierung.
quelle
Ich empfehle, Apache Commmons Logging als Protokollierungsschnittstelle zu verwenden. Auf diese Weise haben Sie die Flexibilität, die Protokollierungsimplementierungen jederzeit zu wechseln, ohne dass Sie Codeänderungen vornehmen müssen.
quelle
Ich würde mit log4j gehen. Die Möglichkeiten mit log4j sind überhaupt nicht veraltet!
quelle