26.6 사용자 정의 로그 설정

다양한 로깅 시스템은 클래스 경로에 적절한 라이브러리를 포함시켜 활성화 할 수 있으며 클래스 경로의 루트 또는 다음 Spring Environment 속성에 지정된 위치에 적절한 구성 파일을 제공하여 추가로 사용자 정의 할 수 있습니다 : logging.config.

org.springframework.boot.logging.LoggingSystem시스템 속성 을 사용하여 Spring Boot가 특정 로깅 시스템을 사용하게 할 수 있습니다. 값은 LoggingSystem구현 의 완전한 클래스 이름이어야합니다 . 값을 사용하여 스프링 부트의 로깅 구성을 완전히 비활성화 할 수도 있습니다 : none.

ApplicationContext생성되기 전에 로깅이 초기화되기 때문에 스프링 @Configuration 의 @PropertySources 에서 제어할 수 없습니다. 로깅 시스템을 변경하거나 완전히 비활성화하는 유일한 방법은 시스템 등록 정보를 사용하는 것입니다.

로깅 시스템에 따라 다음 파일이로드됩니다.

로깅 시스템

사용자 정의

logback

logback-spring.xml, logback-spring.groovy, logback.xml, 또는logback.groovy

Log4j2

log4j2-spring.xml 또는 log4j2.xml

JDK (Java Util Logging)

logging.properties

가능한 경우 -spring로깅 구성을 변형하는 것이 좋습니다 (예를 들어, logback-spring.xmllogback.xml 대신에 사용). 표준 구성 위치를 사용하면 Spring은 로그 초기화를 완전히 제어 할 수 없습니다.

'실행 가능한 jar' 에서 실행할 때 문제를 일으키는 Java Util Logging의 알려진 클래스로드 문제가 있습니다. 가능하다면 '실행 가능한 jar'에서 실행하는 것을 피하는 것이 좋습니다.

  • 그냥 그 라이브러리를 빼라..

사용자 정의를 돕기 Environment위해 다음 표에 설명 된대로 일부 다른 속성이 Spring 에서 System으로 이동됩니다 .

application.properties -> 변수 값으로

spring 환경

시스템 속성

코멘트

logging.exception-conversion-word

LOG_EXCEPTION_CONVERSION_WORD

예외를 기록 할 때 사용되는 변환 단어입니다.

logging.file

LOG_FILE

정의 된 경우 기본 로그 구성에 사용됩니다.

logging.file.max-size

LOG_FILE_MAX_SIZE

최대 로그 파일 크기 (LOG_FILE이 활성화 된 경우). (기본 로그백 설정에서만 지원됩니다.)

logging.file.max-history

LOG_FILE_MAX_HISTORY

보관할 보관 로그 파일의 최대 수 (LOG_FILE이 활성화 된 경우). (기본 로그백 설정에서만 지원됩니다.)

logging.path

LOG_PATH

정의 된 경우 기본 로그 구성에 사용됩니다.

logging.pattern.console

CONSOLE_LOG_PATTERN

콘솔 (stdout)에서 사용할 로그 패턴. (기본 로그백 설정에서만 지원됩니다.)

logging.pattern.dateformat

LOG_DATEFORMAT_PATTERN

로그 날짜 형식에 대한 Appender 패턴. (기본 로그백 설정에서만 지원됩니다.)

logging.pattern.file

FILE_LOG_PATTERN

파일에서 사용할 로그 패턴 ( LOG_FILE사용 가능한 경우 ). (기본 로그백 설정에서만 지원됩니다.)

logging.pattern.level

LOG_LEVEL_PATTERN

로그 수준을 렌더링 할 때 사용할 형식 (기본값 %5p). (기본 로그백 설정에서만 지원됩니다.)

PID

PID

가능하면 현재 프로세스 ID (OS 환경 변수로 정의되지 않은 경우).

지원되는 모든 로깅 시스템은 구성 파일을 구문 분석 할 때 시스템 특성을 참조 할 수 있습니다. spring-boot.jar예를 들어 기본 구성을 참조하십시오 .

로깅 속성에서 자리 표시자를 사용 하려면 기본 프레임 워크의 구문이 아닌 Spring Boot의 구문 을 사용해야합니다 . 특히 Logback을 사용 하는 경우 속성 이름과 기본값 사이의 구분 기호로 :- 가 아니라 :를 사용해야합니다.

MDC 및 기타 임시 콘텐트를 로그 라인에 추가 할 수 있습니다 LOG_LEVEL_PATTERN(또는 logging.pattern.levelLogback 으로 대체 ). 예를 들어, 사용하는 경우 logging.pattern.level=user:%X{user} %5p, 다음 예제와 같이 기본 로그 형식에 "user"에 대한 MDC 항목이 있으면이를 포함합니다.

Last updated