SpringBoot 로깅 - 모든 로그 항목 시작 시 관련 없는 하이픈 사용
SpringBoot 1.3.5의 콘솔과 파일 로그에서 선두 하이픈을 제거하려고 합니다.기본 로그백 구성이 있는 RELEASE.
로깅 패턴은 다음과 같습니다.
logging:
pattern:
console: '%d{yyyy-MM-dd HH:mm:ss.SSS} %clr([${spring.application.name}]){red} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %X{req.requestId} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%rEx}'
파일 로그 패턴은 색상 코드 없이도 유사합니다.두 가지 모두 선두 하이픈을 사용하여 첫 번째 줄 뒤에 모든 줄을 출력합니다. 이는 syslog - logstash - grok 필터링을 더 까다롭게 만듭니다.출력 예:
2016-06-21 11:52:00.576 [my-app] INFO etc.. (application started)
-2016-06-21 11:52:00.583 [my-app] DEBUG etc..
-2016-06-21 11:52:00.583 [my-app] INFO etc..
문서에서 이 동작을 언급하는 내용을 볼 수 없습니다.가능하다면, 그것을 없애는 방법에 대한 조언을 환영합니다!
갱신하다
아래 Edgar의 답변 덕분에, 이것은 우리의 로깅 패턴의 끝에 있는 다음과 같은 이유로 발생한 것으로 밝혀졌습니다.
${LOG_EXCEPTION_CONVERSION_WORD:-%rEx}
다음으로 대체했습니다.
${LOG_EXECUTION_CONVERSION_WORD:%rEx}
et voila, 다음 줄의 시작 부분에 있는 하이픈이 사라집니다.http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-custom-log-configuration 을 참조하십시오.
문제는 이 부분에 있습니다.logging.pattern.console
:
${LOG_EXCEPTION_CONVERSION_WORD:-%rEx}
:-
는 Logback의 기본값 구분 기호이며 logback.xml에서 사용해야 합니다.그러나 다음과 같이 구성하고 있습니다.application.properties
여기서 Spring Framework의 기본값 구분 기호(:
)을 사용해야 합니다.
사용한 대로:-
당신은 가치를 사용한다는 것입니다.LOG_EXCEPTION_CONVERSION_WORD
설정되지 않은 경우 사용-%rEx
대신.
올바른 구문은 다음과 같습니다.
${LOG_EXCEPTION_CONVERSION_WORD:%rEx}
전체 로깅 형식을 제공하지 않으면 진단하기가 어렵습니다.우리 코드에서 비슷한 것이 보이는데, 이것을 다음 형식으로 포함하는 것과 관련이 있는 것 같습니다.
${LOG_EXCENVERSION_WORD:-%wException}
사용 중인 경우 하이픈이 %w 앞에 있을 수 있습니다.저는 이것의 의도된 목적이 무엇인지 잘 모르겠습니다.제가 그것을 찾으면 제 대답에 추가하겠습니다.
제안된 답변은 실제로 약간 잘못되었거나 적어도 발생하고 있는 상황에 대한 일부 세부 정보를 누락하고 있습니다.
대체하는 경우${LOG_EXCEPTION_CONVERSION_WORD:-%rEx}
와 함께${LOG_EXCEPTION_CONVERSION_WORD:%rEx}
봄이 그것을 보간할 것입니다.%rEx
속성 파일을 구문 분석할 때(속성이 발생하지 않는 한)LOG_EXCEPTION_CONVERSION_WORD
해당 시간에 사용 가능).
LOG_EXCEPTION_CONVERSION_WORD
실제로는 에서 제공하는 시스템 속성입니다.LoggingSystem
Logback(기본값에 ":" 구문을 사용함)을 통해 보간됩니다.
달러 문자에 대한 Spring 속성을 정의하여 문제를 해결할 수 있습니다.
dollar: $
다음 그런다바기꾸음을 대체합니다.${LOG_EXCEPTION_CONVERSION_WORD:-%rEx}
매개 변수:
${dollar}{LOG_EXCEPTION_CONVERSION_WORD:-%rEx}
따라서 스프링 속성 보간을 우회합니다.그런 다음 Logback이 결과 패턴 보간을 처리합니다.
언급URL : https://stackoverflow.com/questions/37942604/springboot-logging-extraneous-hyphen-at-start-of-every-log-entry
'programing' 카테고리의 다른 글
VBA를 통해 다른 워크북의 데이터 복사 (0) | 2023.08.18 |
---|---|
엔터티 프레임워크 4 엔터티 디자이너에서 두 개체 간의 연결을 올바르게 설정하려면 어떻게 해야 합니까? (0) | 2023.08.18 |
사용자가 AJAX 요청이 끝나기 전에 브라우저를 종료하거나 페이지를 변경할 경우 발생하는 현상 (0) | 2023.08.18 |
Docker 파일에서 환경 변수 값 가져오기 (0) | 2023.08.18 |
Jquery $.ajax 상태코드 기타 (0) | 2023.08.18 |