96 votes

Désactiver la journalisation de la sortie de la console en mode hibernation

J'utilise hibernate 3 et je veux l'empêcher de déverser tous les messages de démarrage sur la console. J'ai essayé de commenter les lignes stdout dans log4j.properties mais sans succès. J'ai collé mon fichier journal ci-dessous. J'utilise eclipse avec la structure de projet standard et j'ai une copie de log4j.properties à la fois dans la racine du dossier du projet et dans le dossier bin.

\### direct log messages to stdout ###
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.out
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=hibernate.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout

#log4j.logger.org.hibernate=info
log4j.logger.org.hibernate=debug

### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug

### log just the SQL
#log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug

### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug

### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug

### log cache activity ###
#log4j.logger.org.hibernate.cache=debug

### log transaction activity
#log4j.logger.org.hibernate.transaction=debug

### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug

### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trac5

6voto

Systfile Points 21

Pour désactiver Hibernate:select dans le journal, il est possible de mettre la propriété en HibernateJpaVendorAdapter :

<bean id="jpaVendorAdapter"
    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="showSql" value="false"/>
</bean>

5voto

Matej Vargovčík Points 705

Pour ceux qui ne veulent pas de solutions élégantes, mais juste un moyen rapide et pratique d'arrêter ces messages, voici une solution qui a fonctionné pour moi (j'utilise Hibernate 4.3.6 et Eclipse et aucune des réponses fournies ci-dessus (ou trouvées sur Internet) n'a fonctionné ; ni les fichiers de configuration de log4j, ni le réglage du niveau de journalisation par programme).

public static void main(String[] args) {
    //magical - do not touch
    @SuppressWarnings("unused")
    org.jboss.logging.Logger logger = org.jboss.logging.Logger.getLogger("org.hibernate");
    java.util.logging.Logger.getLogger("org.hibernate").setLevel(java.util.logging.Level.WARNING); //or whatever level you need

    ...
}

Je l'ai utilisé dans un programme de tutorat téléchargé à partir de ce site

4voto

La première chose à faire est de déterminer le cadre de journalisation utilisé.

De nombreux cadres sont déjà couverts par d'autres auteurs ci-dessus. Si vous utilisez Logback, vous pouvez résoudre le problème en ajoutant ceci logback.xml à votre chemin de classe :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <logger name="org.hibernate" level="WARN"/>
</configuration>

Pour plus d'informations : Configuration manuelle de Logback

2voto

Pramod Points 201

Pour désactiver l'impression des requêtes hibernate dans les journaux, il suffit d'ajouter ceci à votre fichier application.properties

spring.jpa.show-sql=false

2voto

Clement Cherlin Points 234

En @DataJpaTest de l'annotation Spring Boot Test Auto-Configure active la sortie SQL par défaut. Pour désactiver la sortie SQL lors de l'utilisation de cette annotation dans les tests, modifiez les paramètres suivants

@DataJpaTest
public class MyTestClass {
    ...
}

a

@DataJpaTest(showSql = false)
public class MyTestClass {
    ...
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X