Scala 记录elastic4s客户端
看看这个例子Scala 记录elastic4s客户端,scala,elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s,看看这个例子 client.execute{search in "places"->"cities" query "paris" start 5 limit 10} 是否有一个选项将日志记录挂接到client.execute以记录客户端所做的所有操作(索引、搜索等) 我看到了,但我不想做这样的事情: val req = search in "index" / "type" query "kate bush" logger.debug(s"Search request ${req.show
client.execute{search in "places"->"cities" query "paris" start 5 limit 10}
是否有一个选项将日志记录挂接到client.execute以记录客户端所做的所有操作(索引、搜索等)
我看到了,但我不想做这样的事情:
val req = search in "index" / "type" query "kate bush"
logger.debug(s"Search request ${req.show}")
我希望客户端根据日志记录级别记录所有日志您可以定义自己的ElasticClient,具有覆盖执行功能
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以供参考如果在日志记录配置中启用调试级别,那么您将看到更多关于内部情况的输出。@Val谢谢,它已启用,但我没有看到任何elastic4s输出您是如何启用的?@Val在我的构建sbt文件中
logLevel in run:=Level.Debug
@Val还尝试添加此import org.elasticsearch.common.logging.ESLoggerFactory ESLoggerFactory.getRootLogger.setLevel(“Debug”)
,但没有真正的帮助