Ich benutze Hibernate c3p0 Connection Pooling und Standard Java 1.4 java.util.logging
. Beim Start richtet meine App ihre Protokollierungseigenschaften (einschließlich Formatierung und Protokollebenen) in static
block ein. Jedes Mal, wenn ich meine App starte, sehe ich Folgendes:
Ich habe es versucht
%Vor%aber nur um es zu verhindern, dass ich für jetzt gefunden habe, ist
%Vor%was alles betrifft - kein guter Nebeneffekt. Google hat nicht geholfen. Könnte jemand bitte helfen?
Der Weg, den ich gefunden habe, ist die Systemeigenschaft
festzulegen %Vor%zusätzlich zu
%Vor%Ich dachte, dass das Fehlen eines anderen Logging-Systems dies optional machen würde, aber es scheint, dass ich mich geirrt habe.
P.S.
Verdammt diese radgenerierten benutzerdefinierten Logging-Implementierungen, wie die von c3p0 ...
Wie ich das gefunden habe
Erstellen Sie in Ihrem Klassenpfad eine Datei mit dem Namen mchange-log.properties und fügen Sie Eigenschaften hinzu, die von Frozen Spider vorgeschlagen wurden.
%Vor%Das funktioniert gut, auch wenn Sie die Systemeigenschaften nicht direkt einstellen können.
Es scheint, dass die c3p0-Protokollierung standardmäßig DEBUG lautet. Das kann zu viel Rauschen führen.
Wenn Sie eine Zeile wie diese zu log4j.properties hinzufügen, sagen Sie dem Logger, dass er Sie nicht mit c3p0-Nachrichten belästigt - es sei denn, es ist etwas Wichtiges:
%Vor% Das ist wahrscheinlich sehr spät, aber laut der c3p0-Projektwebsite ist es möglich, die Protokollierung in mchange-log.properties
zu konfigurieren, so dass Sie die Informationen mit slf4j oder log4j (und somit auch mit Logback) erfassen können.
Der Link Ссылка stellt diese Informationen bereit, die in Ihrer mchange-log.properties
-Datei die Eigenschaft com.mchange.v2.log.MLog
festgelegt haben gleich com.mchange.v2.log.slf4j.Slf4jMLog
, dann kannst du in deinem logback.xml
einen Logger wie folgt bereitstellen:
Hinweis: Sie müssen einen Logback-Appender mit dem Namen c3p0-log erstellen, bevor Sie genau dieses Codeelement verwenden können.
Erstellen Sie in Ihrem Stammklassenpfad eine Datei namens log4j.properties setze folgendes ein,
%Vor%Dies ist eine viel bessere Möglichkeit, die Protokollierung zu implementieren, denn wenn Sie die Protokollierungsstrategie programmgesteuert festlegen, wird die Konfiguration manchmal nicht wirksam (wie in Ihrem Fall). Wenn Sie die Datei log4j.properties verwenden, wird die config wird beim Start der Anwendung & amp; alles funktioniert reibungslos.