2017-01-24 1 views
0

이 예로깅 elastic4s 클라이언트

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

(', 색인 등 검색) 클라이언트에 의해 만들어진 모든 작업을 기록 client.execute 로깅 후크 할 수있는 옵션이보고?

나는이 answer을 보았다 그러나 나는 같은 것을하고 싶지 않아요 :

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

내가 무시로, 당신은 당신의 자신의 ElasticClient를 정의 할 수 있습니다

+0

로깅 구성에서 DEBUG 레벨을 활성화하면 내부적으로 진행되는 것에 대한 출력이 더 많이 표시됩니다. – Val

+0

@Val 감사합니다. 사용 가능하지만 어떤 elastic4s 출력도 표시되지 않습니다. – igx

+0

어떻게 사용 했습니까? 내 빌드 SBT 파일 실행에 '''있으며 logLevel에서 – Val

답변

0

로깅 수준에있는 모든 기지를 기록하도록 클라이언트를 원하는을 기능

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