我尝试使用logging.level.my.package记录其他实例并且它们工作正常,我想知道为什么我不能让logging.level.redis.clients.jedis工作?只是想在正在运行的进程中跟踪jedis进程。
编辑:
我一直在
Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
虽然不是所有的时间,但这会导致丢失应该用于redis的数据。这就是为什么我需要找出造成这种异常的原因。
在配置上我特意将其超时设置为30秒,但是它抛出超时异常花了不到10秒。
答案 0 :(得分:0)
Jedis抛出JedisException(和后代类)而不是留下日志记录消息,它包含了原因(Exception)。只有JedisSentinelPool可以进行记录,但它只是一个非常小的地方。
因此,您可以通过更改Jedis软件包的日志级别来获取更多日志消息。
Jedis在内部使用Java Socket,并且Socket会抛出超时异常,所以除非没有正确设置超时值,否则Jedis无法知道为什么会发生超时。它只是一个普通的Socket例外。