복붙노트

[SPRING] 읽을 수있는 로그를 갖기 위해 Spring 로그를 사용 불가능하게한다.

SPRING

읽을 수있는 로그를 갖기 위해 Spring 로그를 사용 불가능하게한다.

어떻게하면 쉽게 읽을 수 있거나 다른 누군가가 읽을 수있는 로그 출력을 갖도록 Spring 로그를 비활성화 할 수 있습니까? 비슷한 질문에 대한 답변, 스프링 빈로드 로그를 비활성화하는 방법은 log4j.properties 파일에 org.springframework 하위 문자열이있는 모든 행을 주석 처리 할 것을 제안했습니다. 제 경우에는 그러한 선이 없습니다.

다음은 log4j.properties입니다.

# Define the root logger with appender file
log4j.rootLogger = DEBUG, stdout

# Define the file appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# Set the name of the logs destination
log4j.appender.stdout.target=System.out

# Set the immediate flush to true (default)
log4j.appender.stdout.ImmediateFlush=true

# Set the threshold to debug mode
log4j.appender.stdout.Threshold=debug

# Set the append to false, overwrite
log4j.appender.stdout.Append=false

# Define the layout for appender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd}:%m%n 

해결법

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

    1.명시 적으로 지정되지 않은 모든 것에 대한 기본 로깅은 DEBUG입니다. 모든 것이 해당 레벨에서 기록됩니다 (구성에 따라 결정됨). 기본적으로 로그를 넘치게합니다. org.springframework에 대한 로거를 제거해서는 안되며 추가해야하며 다른 레벨을 설정해야합니다.

    명시 적으로 지정되지 않은 모든 것에 대한 기본 로깅은 DEBUG입니다. 모든 것이 해당 레벨에서 기록됩니다 (구성에 따라 결정됨). 기본적으로 로그를 넘치게합니다. org.springframework에 대한 로거를 제거해서는 안되며 추가해야하며 다른 레벨을 설정해야합니다.

    log4j.logger.org.springframework=INFO 
    

    또는 원하는 로그 수준을 선택하십시오.

  2. ==============================

    2.당신이하기 전에, 당신은 어떤 지식을 가지고 있어야합니다 :

    당신이하기 전에, 당신은 어떤 지식을 가지고 있어야합니다 :

    1.How to add maven dependency 
    2.Where to put log4j configuration file
    

    좋아, 질문으로 돌아가십시오. 최고 대답은 spring 4.x에서 작동하지 않습니다. spring4.x를 사용한다면 3 단계를 따르십시오.

    이제 성가신 스프링 디버그 로그가 사라집니다. 코딩을 즐기십시오!

    답은 spring.io doc에서 왔는데 원산지는 여기를 클릭하십시오.

  3. ==============================

    3.다음 예제에서와 같이 필요한 패키지 이름을 지정할 수 있습니다.

    다음 예제에서와 같이 필요한 패키지 이름을 지정할 수 있습니다.

    log4j.logger.com.foo=WARN
    

    이제 WARN, ERROR 및 FATAL 로그 만 볼 수 있습니다.

  4. ==============================

    4.모든 답변은 log4j.properties에서 구성과 관련하여 예제를 제시했으며 이는 묻는 것입니다. 나에게는 같은 문제가 있었지만 log4j2.xml에서 설정을 사용하고있다.

    모든 답변은 log4j.properties에서 구성과 관련하여 예제를 제시했으며 이는 묻는 것입니다. 나에게는 같은 문제가 있었지만 log4j2.xml에서 설정을 사용하고있다.

    누군가 나와 같은 보트를 타는 경우, 여기에 내가 한 일이 있습니다 : 다음 샘플에서 볼 수 있듯이 노드 org.springframework와 WARN을 가진 노드 Logger를 추가했습니다 :

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN">
        <Appenders>
            <Console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
            </Console>
        </Appenders>
        <Loggers>
            <Logger name="org.springframework" level="WARN"/>
            <Root level="info">
                <AppenderRef ref="Console"/>
            </Root>
        </Loggers>
    </Configuration>
    

    나는 Spring Boot를 사용하고 있으며 다음과 같이 logback-classic을 사용하고있다.

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    
  5. ==============================

    5.나는 또한이 같은 문제에 직면했다. log4j 설정 후에도 Springframework 로깅이 제거되지 않았습니다. 그런 다음 로깅이 commons-logging에 의존한다는 것을 알았습니다.

    나는 또한이 같은 문제에 직면했다. log4j 설정 후에도 Springframework 로깅이 제거되지 않았습니다. 그런 다음 로깅이 commons-logging에 의존한다는 것을 알았습니다.

    웹 응용 프로그램의 pom.xml 파일의 종속성에서 commons-logging을 비활성화해야합니다.

    pom.xml에서 commons-logging을 제거한 후에도 Eclipse 또는 STS IDE에서 사용할 수있는 종속성 계층 구조를 확인하십시오. 이것은 우리가 알지 못할 수도있는 다른 의존성 관리 때문에 어떻게 든 추가되는지 여부를 아는 데 도움이 될 것입니다.

    종속성을 제거한 후 log4j 구성에 log4j.logger.org.springframework = ERROR를 추가하십시오. 도움이 될 것입니다.

  6. from https://stackoverflow.com/questions/18648014/disabling-spring-log-to-have-readable-logs by cc-by-sa and MIT license