2017-11-28 15 views
1

私のJava springbootマイクロサービス(クエリと応答)から発生するredisアクティビティを記録する最も簡単な方法を探しています。java springアプリケーションからのredis呼び出しのログ/トレース方法

私は、(元のspringbootログファイルに)データが抽出/挿入されるたびにログラインを表示する必要があります。

私のコードは、典型的なspingframeworkデータ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コードがありますか?

他の方法はありますか?事前に感謝します

答えて

0

今すぐ利用できるログはありません。あなたは何かを自分で実装することができますが、AOPを使って接続ファクトリを増やす必要があります。あなたの問題に対処するためにticketを提出しました。

Redis 'MONITORコマンドを試しましたか?

+0

結局のところ、私はAOPルートを下っています。私はRedisリポジトリ呼び出しをOracleリポジトリ呼び出しと区別するための特別なコードがあります。それはまた、私が得るものがはるかに高いレベルであることを意味します。 javaメソッド 'public void delete(String id)'や 'public T findOne(String id)'のようなものです。 – MikaelW

関連する問題