Donnerstag, April 9, 2020

Ändern Sie das Spring-framework log-level im einfachen Beispiel-Projekt?

Wenn Sie die folgenden diese Frühling Beispiel, die ich erwarte, um zu sehen, eine Ausgabe wie diese:

Creating tables
Inserting customer record for John Woo
Inserting customer record for Jeff Dean
...

Stattdessen bekam ich einige DEBUG log-Meldungen durchsetzt, zwischen jeder Zeile:

Creating tables
12:31:16.474 [main] DEBUG o.s.jdbc.core.JdbcTemplate - Executing SQL statement [drop table customers if exists]
12:31:16.484 [main] DEBUG o.s.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
12:31:16.484 [main] DEBUG o.s.j.d.SimpleDriverDataSource - Creating new JDBC Driver Connection to [jdbc:h2:mem]
...

Diese verschiedene Antworten scheinen zu zeigen, dass diese gelöst werden können, durch die änderung des log-Levels in meine log4j.properties – Datei. Allerdings, im folgenden der Frühling Beispiel eine log4j.properties Datei wird nie erwähnt.

Interessanterweise Frühjahr tut erscheinen zu sein mit log4j intern:

$ grep -R "log4j" *
Binary file build/libs/gs-relational-data-access-0.1.0.jar matches

Ich mir vorstellen, die ich verwenden könnte log4j um dieses problem zu beheben, aber das Handbuch nicht scheinen, Informationen zu haben, wo man log4j.properties oder wie Sie zu integrieren in dieses Projekt.

Wie ändere ich den log-level zu entfernen, die DEBUG Aussagen?

Wenn ich ein log4j.properties Datei, wo platziere ich es? Muss ich binden Sie es an meiner build.gradle – Datei, oder Referenz ist es in meinen .java Dateien irgendwie?

InformationsquelleAutor Cory Klein | 2014-04-23

1 Kommentar

  1. 22

    Dies ist das Werk von Spring Boot ist der Umgang mit logging, die unter routing jul, jcl und log4j über slf4j und beschäftigt Logback über slf4j wie Sie sagen können, durch die deutlichen verkürzt-namespace-class-Namen.

    All dies ist gut sichtbar über die IntelliJ-Diagramm-tool direkt auf der pom-Datei:

    Ändern Sie das Spring-framework log-level im einfachen Beispiel-Projekt?

    Diesem setup wird nach dem best-Practice –wie beschrieben/dargestellt, in der SLF4J-Website:

    Ändern Sie das Spring-framework log-level im einfachen Beispiel-Projekt?

    Log ist gesprächig, weil der Frühling DEBUG Ebene. Zu ändern, dass:

    1) Erstellen Sie eine resources Verzeichnis unter <projectDir>/src/main als würden Sie in ein Maven-Projekt.
    2) Erstellen Sie eine logback.xml – Datei mit:

    <configuration>
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>web - %date [%thread] %-5level %logger{36} - %message%n
                </pattern>
            </encoder>
        </appender>
    
        <logger name="org.springframework" level="WARN" />
    
        <root level="INFO">
            <appender-ref ref="STDOUT" />
        </root>
    
    </configuration>

    und voila!

    Creating tables
    Inserting customer record for John Woo
    Inserting customer record for Jeff Dean
    Inserting customer record for Josh Bloch
    Inserting customer record for Josh Long
    Querying for customer records where first_name = 'Josh':
    Customer[id=3, firstName='Josh', lastName='Bloch']
    Customer[id=4, firstName='Josh', lastName='Long']

Kostenlose Online-Tests