복붙노트

[SPRING] 간단한 예제 프로젝트에서 Spring 프레임 워크 로그 레벨을 변경 하시겠습니까?

SPRING

간단한 예제 프로젝트에서 Spring 프레임 워크 로그 레벨을 변경 하시겠습니까?

이 Spring 예제를 따를 때 나는 다음과 같은 결과를 기대했다.

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

대신 모든 줄 사이에 DEBUG 로그 메시지가 산재 해 있습니다.

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]
...

이러한 다양한 대답은 내 log4j.properties 파일에서 로그 수준을 변경하여 해결할 수 있음을 나타냅니다. 그러나 Spring 예제를 따르면 log4j.properties 파일은 언급되지 않는다.

흥미롭게도, Spring은 log4j를 내부적으로 사용하는 것처럼 보입니다.

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

이 문제를 해결하기 위해 log4j를 사용할 수 있다고 상상하지만 매뉴얼에는 log4j.properties를 넣을 위치 또는이 프로젝트에 통합하는 방법에 대한 정보가없는 것 같습니다.

해당 DEBUG 문을 제거하려면 로그 수준을 어떻게 변경합니까?

log4j.properties 파일을 사용해야하는 경우 어디에 배치해야합니까? 그것을 build.gradle 파일에 묶거나 내 .java 파일에서 어떻게 든 참조해야합니까?

해결법

  1. ==============================

    1.이것은 sloot4j를 통한 jul, jcl, log4j 라우팅 로깅을 다루고 slf4j를 통해 Logback을 사용하는 스프링 부트의 작품으로, 구별 가능한 짧은 네임 스페이스 클래스 이름으로 알 수 있습니다.

    이것은 sloot4j를 통한 jul, jcl, log4j 라우팅 로깅을 다루고 slf4j를 통해 Logback을 사용하는 스프링 부트의 작품으로, 구별 가능한 짧은 네임 스페이스 클래스 이름으로 알 수 있습니다.

    이 모든 것은 IntelliJ 다이어그램 도구를 통해 pom 파일에 직접 표시됩니다.

    이 설정은 SLF4J 사이트에 설명 된 / 묘사 된 모범 사례를 따릅니다.

    이 로그는 Spring 디버그 레벨 때문에 수다스러운 것입니다. 이를 변경하려면 다음을 수행하십시오.

    1) Maven 프로젝트에서와 같이 / src / main 아래에 resources 디렉토리를 만듭니다. 2) 다음을 포함하는 logback.xml 파일을 작성하십시오.

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

    and 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']
    
  2. from https://stackoverflow.com/questions/23252743/change-spring-framework-log-level-in-simple-example-project by cc-by-sa and MIT license