我正在寻找最简单的方法来记录源 self 的 java springboot 微服务(查询和响应)的 redis 事件。
每当从/向redis 中提取/插入数据时,我想查看(在主springboot 日志文件中)日志行。
我的代码使用典型的 spingframework data 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
有什么想法吗?我错过了我应该追踪的正确类(class)吗?
我需要编写一些自定义拦截器/监听器/aop 代码吗?
还有其他方法吗?提前致谢
最佳答案
目前没有可用的日志记录。您可以自己实现一些东西,但您需要使用 AOP 来扩充连接工厂,这可能需要一些工作。我提交了 ticket解决您的问题。
您是否尝试过使用 Redis 的 MONITOR
命令?
关于spring-boot - 如何记录/跟踪来自 java spring 应用程序的 redis 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536795/