2015-02-07 7 views
7

Ich habe vor kurzem Hibernate zu meiner pom.xml hinzugefügt, und es funktioniert gut. Allerdings ist die Protokollierung irritierend und ich bin mir nicht sicher, wie ich es abstellen oder das Niveau davon begrenzen kann (ich weiß nicht einmal genau, was es beinhaltet, um diese ganze Protokollierung zu starten). Ich bin neu darin, Maven zu machen und zu überwintern.Deaktivieren der Protokollierung mit Hibernate von Maven

Hier sind meine pom.xml Abhängigkeiten:

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <!-- Hibernate --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.0.1.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate.common</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>4.0.1.Final</version> 
     <classifier>tests</classifier> 
    </dependency> 

    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.10</version> 
    </dependency> 
</dependencies> 

Das Protokoll wie folgt beginnt:

21:17:15.115 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider 
21:17:15.130 [main] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> [email protected] 
21:17:15.130 [main] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> [email protected] 
21:17:15.130 [main] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> [email protected] 

Ich habe versucht, eine Datei log4j.properties meine Ressourcen hinzufügen und es schien nicht alles ändern. Ich habe auch versucht, simplelog.properties (nach anderen SO-Beiträge, die nicht geholfen haben). Ich bin hier ein wenig festgefahren, Hilfe wäre sehr geschätzt. Im Idealfall möchte ich nur den Logger ausschalten oder nur die MySQL-Abfragen.

Dies ist der Abhängigkeitsbaum:

[INFO] org.springframework:gs-rest-service:jar:0.1.0 
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.1.10.RELEASE:compile 
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.1.10.RELEASE:compile 
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.1.10.RELEASE:compile 
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.1.10.RELEASE:compile 
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.1.10.RELEASE:compile 
[INFO] | | | +- org.slf4j:jcl-over-slf4j:jar:1.7.7:compile 
[INFO] | | | | \- org.slf4j:slf4j-api:jar:1.7.7:compile 
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.7:compile 
[INFO] | | | +- org.slf4j:log4j-over-slf4j:jar:1.7.7:compile 
[INFO] | | | \- ch.qos.logback:logback-classic:jar:1.1.2:compile 
[INFO] | | |  \- ch.qos.logback:logback-core:jar:1.1.2:compile 
[INFO] | | \- org.yaml:snakeyaml:jar:1.13:runtime 
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.1.10.RELEASE:compile 
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:7.0.57:compile 
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:7.0.57:compile 
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-logging-juli:jar:7.0.57:compile 
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:7.0.57:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.3.4:compile 
[INFO] | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.3.4:compile 
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.3.4:compile 
[INFO] | +- org.hibernate:hibernate-validator:jar:5.0.3.Final:compile 
[INFO] | | +- javax.validation:validation-api:jar:1.1.0.Final:compile 
[INFO] | | \- com.fasterxml:classmate:jar:1.0.0:compile 
[INFO] | +- org.springframework:spring-core:jar:4.0.8.RELEASE:compile 
[INFO] | +- org.springframework:spring-web:jar:4.0.8.RELEASE:compile 
[INFO] | | +- org.springframework:spring-aop:jar:4.0.8.RELEASE:compile 
[INFO] | | | \- aopalliance:aopalliance:jar:1.0:compile 
[INFO] | | +- org.springframework:spring-beans:jar:4.0.8.RELEASE:compile 
[INFO] | | \- org.springframework:spring-context:jar:4.0.8.RELEASE:compile 
[INFO] | \- org.springframework:spring-webmvc:jar:4.0.8.RELEASE:compile 
[INFO] |  \- org.springframework:spring-expression:jar:4.0.8.RELEASE:compile 
[INFO] +- org.hibernate:hibernate-core:jar:4.0.1.Final:compile 
[INFO] | +- commons-collections:commons-collections:jar:3.2.1:compile 
[INFO] | +- antlr:antlr:jar:2.7.7:compile 
[INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile 
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile 
[INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile 
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile 
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile 
[INFO] | +- org.javassist:javassist:jar:3.18.1-GA:compile 
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile 
[INFO] +- org.hibernate.common:hibernate-commons-annotations:jar:tests:4.0.1.Final:compile 
[INFO] \- mysql:mysql-connector-java:jar:5.1.10:compile 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 35.918 s 
[INFO] Finished at: 2015-02-07T22:09:37+00:00 
[INFO] Final Memory: 20M/203M 
[INFO] ------------------------------------------------------------------------ 

Die Lösung war eine Konfigurationsdatei hinzuzufügen, in den Ressourcen-Ordnern des Projektes mit dem Namen „logback.xml“. Der Inhalt dieser Datei sind:

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoders are assigned the type 
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <root level="INFO"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 
+0

Vielen Dank, dass Sie Ihre Lösung veröffentlicht haben. Es hat mir geholfen. – Bhushan

Antwort

1

Sie wahrscheinlich eine globale DEBUG Protokollebene in der Logging-Framework-Konfiguration festgelegt haben.

Alles, was Sie tun müssen, ist die org.hibernate Protokollebene auf WARN oder ERROR Einstellung statt:

  • Logback/Log4j2

    <logger name="org.hibernate" level="warn"/> 
    
  • Log4j

    <logger name="org.hibernate"> 
        <level value="warn"/> 
    </logger> 
    
+0

Danke für die Antwort, aber ich weiß nicht, wo ich die Logging-Framework-Konfiguration finden kann, ich denke, das ist das Problem. Irgendwelche Hinweise? Da ich keine Konfigurationsdateien erstellt habe, vermute ich, dass dies ein Standard ist, oder etwas, das in einem der Gläser verpackt ist, die Maven abgerufen hat. – ThePerson

+1

Sie müssen 'mvn dependency: tree' ausführen und nach log4j und logback suchen. Die Möglichkeit, einige Standard-Log-Konfigurationen zu überschreiben, besteht darin, eine eigene Konfiguration in 'src/main/resources' hinzuzufügen. –

+0

Ok, ich kann das in meinem Baum sehen: [INFO] | | | \ - ch.qos.logback: logback-classic: jar: 1.1.2: Kompilieren [INFO] | | | \ - ch.qos.logback: logback-core: jar: 1.1.2: kompilieren Ich nehme an, das bedeutet, ich benutze Logback (ich bin mir nicht ganz sicher, was das ist), deshalb brauche ich Ihr erstes Bit des Codes Ich werde eine Konfigurationsdatei mit dem im Inneren src/main/resources erstellen (Nachschlagen Namensgebung usw.) – ThePerson