2016-04-28 11 views
1

logging.level.my.packageを使用して他のインスタンスをロギングしようとしましたが、正常に動作しています。なぜlogging.level.redis.clients.jedisを動作させることができないのでしょうか?実行中のプロセスでjedisプロセスをトレースするだけです。編集したSpringで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の中に行くことになっていたデータの損失につながります。だから私はこの例外の原因を見つけ出す必要があります。

configのタイムアウトは30秒に設定されていますが、タイムアウト例外が発生するまでには10秒未満かかりました。

+0

あなたのコードやエラーの例を表示してください。 –

+0

@VictorMarchukロギングによってタイムアウトエラーの原因を突き止めたいのですが、logging.level.redis.clients.jedisがうまくいかないようですそれは他の人と同じです。 – kenlz

答えて

0

ログメッセージを残す代わりに、Jedisは、起点の理由(Exception)をラップするJedisException(および子孫クラス)をスローします。 JedisSentinelPoolだけがロギングを行いますが、それは本当に小さな場所です。

Jedisパッケージのログレベルを変更しても、ログメッセージは表示されません。

Jedisは内部的にJava Socketを使用しており、タイムアウト例外がSocketによってスローされています。タイムアウト値が正しく設定されていないと、Jedisはタイムアウトが発生した理由を知ることができません。単なる一般的なソケット例外です。