programing

스프링 부트 - 로깅을 끌 수 없음

topblog 2023. 6. 22. 21:25
반응형

스프링 부트 - 로깅을 끌 수 없음

application.properties 파일을 사용하여 STS에서 스프링 부트 응용 프로그램의 콘솔 출력을 끄려고 합니다.

logging.level.root 값을 설정하면 어느 정도 효과가 있는 것 같지만 완전히 해제할 수는 없으며 자동 구성 보고서 출력을 해제할 수도 없습니다.

logging.level.root=OFF
spring.main.banner-mode=OFF
application.version=@project.version@

spring.main.banner-mode 속성에 의해 배너가 꺼집니다.

위의 속성으로 인해 시작 시 스프링에서 DEBUG 출력이 여전히 표시됩니다.

 2017-05-09 15:33:16.744 DEBUG 11772 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application started with classpath:
 2017-05-09 15:33:16.798 DEBUG 11772 --- [           main] o.s.boot.SpringApplication               : Loading source class 

어떤 속성 파일이 로드되고 있는지 알려주는 줄이 더 있지만 이 게시물을 가득 채우고 싶지 않습니다.

다음으로 자동 구성 보고서 출력을 가져옵니다.

구성 문제가 있는지 궁금하며, 이로 인해 시동 시 스프링 출력이 계속 발생하는지 궁금합니다.

저의 질문에 답하자면, 시행착오 끝에 마침내 다음과 같은 결과를 얻었습니다. 시작 시 모든 출력은 다음을 통해 억제됩니다.application.properties파일:

 logging.level.root=OFF
 logging.level.org.springframework.boot=OFF
 spring.main.banner-mode=OFF

선택한 패키지에 다음을 추가합니다.

logging.level.<package>=OFF

logging.level.root=OFF저한테는 안 통해요

이 접근 방식의 문제는 루트 수준 로거만 구성한다는 것입니다. 일치하는 로거 속성이 설정되면 개별 로그가 다시 켜집니다(예:logging.level.org.springframework.boot=DEBUG) 그래서 당신의 자가 답변이 명시적으로 비활성화되어야 했던 것 같습니다.org.springframework.boot로거 및 루트 로거.

로깅을 완전히 비활성화하는 한 가지 방법은 특수 파일을 생성하는 것입니다.logback.xml로깅을 완전히 비활성화하는 파일입니다.

<configuration>
</configuration>

항상 로깅을 해제하려면 다음을 생성하면 됩니다.logback.xml파일을 저장하고 루트 패키지에 넣습니다(예:src/main/resources/logback.xml. 특정 시나리오(예: "로그" Spring 프로파일에 있는 경우)에서만 비활성화하려면 다른 이름()으로 사용자 정의 파일을 만들 수 있습니다.logback-off.xml사용하지 않도록 설정할 프로파일/사례의 구성 파일로 지정합니다.

logging.config=classpath:logback-off.xml

여전히 문제를 해결하지 못한 사람들을 위해.저는 jar 파일을 불러 몇 개의 객체를 만들고 있었습니다.해당 jar 파일의 클래스가 원하지 않는 로그를 쓰고 있습니다.저는 모든 것을 시도했고, 많은 포럼을 거쳤습니다.

그래서 저의 해결책은 ROOT를 ERROR로만 설정하는 것이었습니다.

application.yml

logging:
  level:
    ROOT: ERROR
    com.mypackage: INFO
    org.springframework.*: INFO

따라서 이렇게 하면 로그에 오류만 표시되고 사용자가 구성한 정보 로그도 표시됩니다.

제가 시도한 몇 가지 코드를 여기에 넣었습니다. 제게는 효과가 없었지만 다른 사람에게는 효과가 있을지도 모릅니다.

application.yml시도해 봤습니다.

logging:
  level:
    com.organization.package: OFF

시도해 봤습니다.

logging:
  level:
    com.organization.package.*: OFF

시도해 봤습니다.

ClassThatLogsUnwanted class = new ClassThatLogsUnwanted();
Logger.getLogger(class.getName()).setLevel(Level.OFF);

언급URL : https://stackoverflow.com/questions/43872823/spring-boot-cannot-turn-off-logging

반응형