2017-01-24 1 views
0

この例ログelastic4sクライアント

client.execute{search in "places"->"cities" query "paris" start 5 limit 10} 

( '、インデックスなどの検索)クライアントによって行われたすべての操作をログに記録するclient.executeするログをフックするためのオプションがあります見て?

私はこのanswerを見ましたが、私のような何かしたくない:私はあなたがオーバーライドして、独自のElasticClientを定義することができ、クライアントはログレベル

+0

ロギング設定でDEBUGレベルを有効にすると、内部的に起こっているwhatsの出力が表示されます。 – Val

+0

@Valありがとうございます、有効になっていますが、elastic4sの出力が表示されません – igx

+0

どうしましたか?私のビルドSBTファイル '' '、実行中のLogLevelで – Val

答えて

0

上のすべてのベースを記録したい

val req = search in "index"/"type" query "kate bush" 
logger.debug(s"Search request ${req.show}") 

を機能

object MyElasticClientFactory { 
    def fromClient(client: Client): ElasticClient = new ElasticClient { 
    def close(): Unit = client.close() 
    def java: Client = client 

    override def execute[T, R, Q](request: T)(implicit executable: Executable[T, R, Q]): Future[Q] = { 
     // TODO your logging here 
     super.execute(request) 
    } 

} 

実行参考のためにれるtcpClientで見てみましょうhttps://github.com/sksamuel/elastic4s/blob/9a4074b6ff5616b648801352b4c3629cd0fc9020/elastic4s-tcp/src/main/scala/com/sksamuel/elastic4s/TcpClient.scala

関連する問題