2011-03-30 3 views
2

je reçois cette erreur lorsque configurant mon mise en veille prolongéelog4j erreur veille prolongée

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

ici est la ligne de code

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

et voici mon fichier CFG

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

Répondre

7

Première demande Google, il s'agit de l'un des messages d'erreur Log4J les plus courants. Autrement dit: Log4J (logging and monitoring framework) a reçu un message de log de Hibernate et ne sait pas quoi en faire (imprimer sur la console, mettre dans le fichier, ignorer ...?)

Mettez le fichier nommé log4j.xml dans votre CLASSPATH répertoire racine (src/main/resource lors de l'utilisation de Maven) avec le contenu suivant:

<?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> 
+0

Merci.J'utilise 'Eclipse' pour faire un exemple' hibernate'. Je ne reçois pas cet avertissement quand je garde 'log4j.properties' dans le dossier' src'. Mais, quand je le garde dans le dossier 'src/resources', alors je reçois l'avertissement. Pourquoi cela se produit-il et comment faire éclipse se référer au bon dossier? –

+0

Merci, ça m'a beaucoup aidé avec Spring Hibernate –

0

J'ai eu la même error.There sont deux causes de cette erreur

  1. Il y a deux fichiers jar log4j en vous bibliothèques à différents endroits tion.

    ou

  2. Le fichier de propriétés log4j.properties n'est pas présent dans le package par défaut dans votre application.

Pourquoi cette erreur est émergea est hibernate.config et log4j devrait être en même paquet

0

J'ai finalement eu ce qui se passait dans mon cas. Cela pourrait aussi aider les utilisateurs de NetBeans à faire face au même problème car j'ai perdu beaucoup de cheveux depuis quelques mois maintenant. Mon application venait d'arrêter de se connecter à la console, donc je ne pouvais pas déboguer puisque les erreurs n'étaient pas affichées.

La réponse "Il existe deux fichiers jar log4j dans vos bibliothèques à différents emplacements." c'était vrai. Initialement, je m'attendais à trouver 2 fichiers avec le nom log4xxx.jar bien sûr avec des numéros de version différents, mais aucun fichier comme ça était là. Vous voyez Netbeans est livré préemballé avec les bibliothèques Hibernate et bien d'autres bibliothèques bien sûr. Ainsi, lorsque vous développez des applications Hibernate dans Netbeans, vous n'avez PAS besoin d'ajouter manuellement vos propres fichiers Hibernate à moins que vous ayez besoin d'une version spécifique, vous pouvez simplement ajouter la bibliothèque Hibernate à votre application via le projet droit - Propriétés - Bibliothèques - Bouton Ajouter une bibliothèque Cela ajoutera beaucoup de Jars en hibernation dans le background/classpath lors de l'exécution et aussi sur Compiler dans le dossier dist/lib MAIS PAS dans la lib de l'application. Dans mon cas, j'avais ajouté à la fois la librairie Hibernate ET aussi copié les fichiers hibernate générés de dist/lib vers lib. Cela s'est produit par erreur car j'ai copié des bibliothèques de l'application précédente pour les inclure dans ma nouvelle application.

Alors, prenez le point de la maison, si Netbeans, allez dans votre dossier lib, si vous voyez des pots comme hibernate-commons-annotations-xxxFinal.jar, hibernate-core-xxxFinal.jar, mise en veille prolongée-entitymanager-xxx Final.jar, hibernate-jpa-2.0-api-xxxFinal.jar, hibernate-tools-xxxCR1.jar Retirez-les et vérifiez si l'erreur se résout.