@Cacheable 히트 시 스프링 캐시 로깅
현재 Spring Cache와 함께 작업하고 있습니다.@Cacheable
/@CacheEvict
주석
다음과 같은 콘솔 로그 명세서를 받고 싶습니다."INFO: i got those values from the cache, NOT from the host. awesome"
이것을 하는 깨끗하고 쉬운 방법이 있습니까?사용 중입니다.slf4j
명백하게도, 만약 그것이 관심이 있다면요.
또한 Spring Boot 2의 경우 application.properties에 다음을 추가할 수 있습니다.
logging.level.org.springframework.cache=TRACE
Spring 자체는 캐시 추상화 동작의 일부를 다음과 같이 기록합니다.org.springframework.cache
로거인.trace
레벨입니다. 그래서, 만약 당신이 아래에 로그를 추가한다면.org.springframework.cache
적절한 어펜더에 대한 로거를 사용하면 콘솔과 같은 유용한 정보를 얻을 수 있습니다.로그백을 사용하는 경우 다음과 같은 방법을 사용할 수 있습니다.logback.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<logger name="org.springframework.cache" level="trace">
<appender-ref ref="STDOUT" />
</logger>
</configuration>
이 구성을 사용하면 콘솔에 다음과 같은 내용이 표시됩니다.
'persons' 캐시에 'Page request [숫자: 0, 크기: 20, 정렬: null]' 키에 대한 캐시 항목이 있습니다.
추적 수준 로깅을 활성화할 수 있습니다.
예를 들어, application.properties에서는 'sys=true'를 입력합니다.
추적 로그를 항상 여는 것은 캐시 로그를 위한 것이기는 하지만 좋은 생각은 아닌 것 같습니다.
더 나은 방법은 EHcache에 이미 이러한 히트/미스 메트릭이 있으므로 다음을 통해 얻을 수 있습니다.JMX
또는spring boot actuator
.
JMX에서 사용하려면 다음을 참조하십시오.
사용하기Spring Boot Actuator
당신은 이것을 참조할 수 있습니다.
application.yml 및 spring-boot 2를 사용하는 경우
logging:
level:
org.springframework.cache: TRACE
DEBUG 레벨을 설정하지 마십시오. TRACE에만 작동합니다.
application.properties용
logging.level.org.springframework.cache=TRACE
언급URL : https://stackoverflow.com/questions/37281139/spring-cache-logging-on-cacheable-hit
'programing' 카테고리의 다른 글
원격 시스템에서 사용할 수 있는 파워셸 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.09.04 |
---|---|
공백/빈 공간의 유효성을 검사하는 방법은 무엇입니까?[각도 2] (0) | 2023.09.04 |
Jquery UI 도구 설명이 HTML 콘텐츠를 지원하지 않습니다. (0) | 2023.09.04 |
WebKit/Blink에서 MacOS 트랙패드 사용자의 스크롤 막대 숨기기 방지 (0) | 2023.09.04 |
Chrome Developer 도구를 통해 Ajax 통화의 HTML 응답 보기? (0) | 2023.09.04 |