programing

Java Spring 앱에서 rediscalls를 기록/삭제하는 방법

css3 2023. 7. 24. 22:41

Java Spring 앱에서 rediscalls를 기록/삭제하는 방법

java springboot microservice(쿼리 및 응답)에서 발생하는 redis 활동을 기록하는 가장 간단한 방법을 찾고 있습니다.

redis에서/to redis에서 데이터를 추출/삽입할 때마다 (주 스프링 부트 로그 파일에서) 로그 줄을 보고 싶습니다.

내 코드는 다음과 같은 일반적인 스프링 프레임워크 데이터 redis 접근 방식을 사용합니다.

import org.springframework.data.redis.core.RedisHash;
import org.springframework.data.redis.core.TimeToLive;

@RedisHash
public class InternalAddress {
    private String county;
    private String postcode;
    @TimeToLive
    private Long expiry;
}

*

import org.springframework.data.repository.CrudRepository;

public interface AddressRepository extends CrudRepository<InternalAddress, String> {}

이와 같은 로깅을 사용하도록 설정했습니다.

logging:
  level:
    root: INFO
    redis.clients: TRACE
    org.springframework.data: TRACE

하지만 제가 얻는 것은 저에게 전혀 쓸모가 없습니다. 아무 것도 아니거나 연결이 열리거나 닫히는 것에 대한 일부 정보일 뿐입니다.

제가 제 로그에서 보고 싶은 것은 이것입니다.

2017-11-28T16:05:18.140+00:00 HGETALL key5645 => {...returned data...}
2017-11-28T16:05:25.140+00:00 LPUSH whatever
2017-11-28T16:05:25.140+00:00 HMSET blahblahblah

혹시 아시나요? 제가 추적해야 할 수업을 제대로 놓쳤나요?

제가 작성해야 하는 사용자 지정 가로채기/수신기/aop 코드가 있습니까?

다른 접근법은?잘 부탁드립니다.

지금은 로깅을 사용할 수 없습니다.당신이 직접 무언가를 구현할 수는 있지만 AOP로 연결 공장을 확장해야 하는데, 이는 약간의 작업이 될 수 있습니다.저는 당신의 문제를 해결하기 위해 티켓을 제출했습니다.

Redis'를 사용해 보셨습니까?MONITOR명령?

application.yml/properties 파일에 아래에 포함되어 있으며 관련 로그를 볼 수 있습니다.

logging:
  level:
    org.springframework.data.*.*: trace
    org.springframework.cache.*: trace

언급URL : https://stackoverflow.com/questions/47536795/how-to-log-trace-redis-calls-from-java-spring-app