繁体   English   中英

python-elasticsearch:如何启用curl日志记录?

python-elasticsearch: how do you enable curl logging?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在使用python-elasticsearch模块,我在python-elasticsearch文档中阅读了您可以将所有基础HTTP请求记录为命令行curl命令的信息

elasticsearch.trace可以使用漂亮打印的json以curl命令的形式将请求记录到服务器,然后可以从命令行执行该命令。 因为它是设计为共享的(例如,用于演示问题),所以它也仅使用localhost:9200作为地址,而不是主机的实际地址。 如果尚未配置跟踪记录器,则将其设置为property = False,因此需要单独激活它。

对于python-elasticsearch模块,如何启用此curl日志记录?

我试过了:

  • 将全局记录器设置为logging.basicConfig(level=logging.DEBUG)但是没有输出curl
  • 我尝试获取elasticsearch.trace记录器并将该记录器的级别设置为logging.DEBUG ,然后将es_trace_logger.propagate = True设置es_trace_logger.propagate = True但这些都es_trace_logger.propagate = True
1 个回复

我认为您可能缺少的一个关键步骤是向elasticsearch.trace记录器添加处理程序。

import logging
es_trace_logger = logging.getLogger('elasticsearch.trace')
es_trace_logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler()
es_trace_logger.addHandler(handler)

因此,这里我在记录器中添加了一个StreamHandler ,因此所有日志都将发送到stdout 您可以根据需要,根据需要添加其他处理程序,例如FileHandler

这是相同的示例调试日志-

curl -XGET 'http://localhost:9200/my_index/_search?pretty' -d '{
  "size": 100
}'
#[200] (1.311s)
#{
#  "_shards": {
#    "failed": 0,
#    "successful": 6,
#    "total": 6
#  },
#  "hits": {
#    "hits": [
#      {
#        "_id": "FLKSD0SDFJJSDF7D518319DE5EEBB5d5b07044",

使用此记录器将记录整个请求和我们执行的每个请求的响应,因此有时这些日志可能会让人不知所措,但对于调试而言却相当不错。

对于相同的请求,相应的elasticsearch记录器将输出如下内容-

GET http://my_es_host:9200/my_index/_search [status:200 request:1.528s]
> {"size": 100}
< {"took":21,"timed_out":false,"_shards":{"total":6,"successful":6,"failed":0},"hits":{"total":112,"max_score":1.0,"hits":[{"_index":"my_index","_
1 Python - Elasticsearch 重新索引

尝试使用elasticsearch-py python 模块运行重新索引。 出于测试目的,我只想处理少量文档。 根据文档我有这个: 但这导致 - reindex() got an unexpected keyword argument 'max_docs' 所以我试过 - 错误: Tran ...

2 Hadoop启用日志记录

我正在尝试使用在单一集群模式下从源构建的hadoop。我检查了0.22.0-alpha-1。我正面临着很少的日志问题。 如何启用调试日志。 我尝试添加 在log4j.properties中。 但它似乎没有用。可以帮助我启用调试日志。我想知道是否有任何其他日志我可以启用除了J ...

3 VBA启用日志记录

VBA代码挂起了MS Word,我不知道问题出在哪里,我没有看到任何异常或消息,只是挂起了。 有没有办法获取有关异常的任何信息? 我知道哪一行失败,但是我不能进入代码,因为它不是VBA代码,而是在另一个dll中。 我将尝试将调试器附加到该dll,但是我要的是某种MS Word日志文件。 ...

4 如何启用 Ehcache 的日志记录

在我的 Spring + Hibernate 项目中,我使用 SLF4J 1.6.4 和 LogBack 进行日志记录。 现在,我添加了 Ehcache 2.2.0(通过 ehcache-spring-annotations-1.1.3)。 缓存似乎作为方法工作,用@Cacheable 注释,不再被 ...

5 是否可以在python中为unittest启用日志记录变量?

我是刚开始在Python中使用unittest,所以可能是一个新手问题。 我想知道是否有一种方法可以打开变量的日志记录。 我在下面有一个简单的例子,可以消除任何逻辑问题。 由于这是我第一次使用unittest,因此我想确保测试功能正在执行我认为正在执行的操作。 我的代码中有许多更复杂的函数,它们 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM