@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 |