Nein, ich würde log4j.properties
in Ihrem src/main/resources
nicht einschließen, wenn es nur eine Bibliothek ist - Leute benutzen Ihre Bibliothek, und Leute müssen konfigurieren, wie es loggen sollte.
Aber es gibt ein anderes Problem: Wenn Sie es in Ihr Glas legen, haben andere das log4j in ihrem Klassenpfad auch. Also, wenn sie eine benutzerdefinierte Konfiguration für log4j haben wollen (was sie tun werden), wird der ClassLoader die erste Datei auswählen, die er finden kann.
Auch wenn Sie eine Bibliothek haben, würde ich vorschlagen, stattdessen slf4j
zu verwenden, damit Ihre Benutzer ihre bevorzugte Protokollierung Rahmen wählen können.
Für Testzwecke ist es in Ordnung, log4j in src/test/resources
aufzunehmen.
All dies trifft zu und gilt auch für Anwendungsbereitstellungen. Es gibt weitere Gründe, es nicht in ein * library * -Projekt zu legen - nämlich, dass Sie normalerweise nicht wissen, in welchem Kontext es verwendet wird und welche Konfiguration den Klassenpfad beeinflusst, was mögliche Probleme verursacht. – eis
Die Möglichkeit, Debugging auf einem Server während eines Fehlers zu aktivieren, ist ein Lebensretter. So sehr wir es auch testen, schützt es nur vor den Problemen, die wir testen wollten. Die Möglichkeit, zusätzliche Details zu den Geschehnissen zu erhalten, führt direkt zu besseren Tests in der Zukunft. – Gus