3 Stimmen

log4j hibernate Fehler

Ich erhalte diese Fehlermeldung, wenn ich meinen Ruhezustand konfiguriere

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.

Hier ist die Codezeile

Configuration config = new AnnotationConfiguration().configure("HibernatePositionServer.cfg.xml");

und hier ist meine cfg-Datei

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
    <!--<property name="connection.url">jdbc:mysql://[Here i put correct IP:Port]/settings</property>-->
    <!--<property name="connection.url">jdbc:mysql://127.0.0.1:1433/settings</property>-->

    <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>
    <property name="connection.username">root</property>
    <property name="connection.password">Programa17</property>

    <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
    <property name="hibernate.c3p0.timeout">300</property>
    <property name="hibernate.c3p0.idle_test_period">150</property>
    <property name="hibernate.c3p0.min_size">1</property>
    <property name="hibernate.c3p0.max_size">1</property>

    <!-- DB schema will be updated if needed -->
    <property name="hibernate.show_sql">true</property>
    <property name="hbm2ddl.auto">update</property>
    <!--<property name="hbm2ddl.auto">update</property>-->
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

</session-factory>

7voto

Tomasz Nurkiewicz Punkte 322861

Erste Frage Google Dies ist eine der häufigsten Log4J-Fehlermeldungen. Einfach ausgedrückt: Log4J (Logging- und Monitoring-Framework) hat eine Logging-Meldung von Hibernate erhalten und weiß nicht, was es damit anfangen soll (auf der Konsole ausgeben, in eine Datei stellen, ignorieren...?)

Datei mit dem Namen log4j.xml in Ihrem CLASSPATH-Wurzelverzeichnis ( src/main/resource bei Verwendung von maven) mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
  </appender> 

  <root> 
    <priority value ="debug" /> 
    <appender-ref ref="console" /> 
  </root>

</log4j:configuration>

0voto

Mahendra Punkte 51

Ich hatte den gleichen Fehler, der zwei Ursachen haben kann

  1. Es gibt zwei log4j jar-Dateien in Ihren Bibliotheken an verschiedenen Orten.

    ou

  2. Die Eigenschaftsdatei log4j.properties nicht im Standardpaket in Ihrer Anwendung vorhanden ist.

Warum dieser Fehler auftritt, ist hibernate.config und log4j sollten im gleichen Paket sein

0voto

ngonidan Punkte 1

Endlich habe ich verstanden, was in meinem Fall passiert ist. Es könnte auch helfen, die in Netbeans Benutzer das gleiche Problem coz ich habe eine Menge Haare für einige Monate verloren jetzt konfrontiert. Meine Anwendung hatte gerade gestoppt Protokollierung auf der Konsole, so dass ich nicht debuggen konnte, da die Fehler nicht angezeigt wurden.

Die Antwort "There are two log4j jar files in you libraries at different location." war richtig. Ursprünglich hatte ich erwartet, 2 Dateien mit dem Namen log4xxx.jar zu finden, natürlich mit unterschiedlichen Versionsnummern, aber keine solche Datei war vorhanden. Netbeans wird mit Hibernate-Bibliotheken und natürlich vielen anderen Bibliotheken ausgeliefert. Wenn Sie also Hibernate-Anwendungen in Netbeans entwickeln, müssen Sie NICHT manuell Ihre eigenen Hibernate-Jars hinzufügen, es sei denn, Sie benötigen eine bestimmte Version usw. Sie können die Hibernate-Bibliothek einfach über die Schaltfläche Rechtsklick Projekt - Eigenschaften - Bibliotheken - Bibliothek hinzufügen zu Ihrer Anwendung hinzufügen. Dadurch werden viele Hibernate Jars im Hintergrund/Klassenpfad hinzugefügt, wenn sie ausgeführt werden und auch beim Kompilieren im Ordner dist/lib, ABER NICHT in der lib der Anwendung. In meinem Fall hatte ich sowohl die Hibernate Library hinzugefügt als auch die generierten Hibernate Jars von dist/lib nach lib kopiert. Dies geschah aus Versehen, da ich die Bibliotheken aus einer früheren Anwendung kopiert hatte, um sie in meine neue Anwendung einzubinden und dort zu verwenden.

Wenn Sie also in Netbeans in Ihren Lib-Ordner gehen, sehen Sie dort Jars wie hibernate-commons-annotations-x.x.x.Final.jar, hibernate-core-x.x.x.Final.jar, hibernate-entitymanager-x.x.x.Final.jar, hibernate-jpa-2.0-api-x.x.x.Final.jar, hibernate-tools-x.x.x.CR1.jar Entfernen Sie diese und prüfen Sie, ob der Fehler behoben ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X