python - 找不到记录器 "elasticsearch.trace"的处理程序

标签 python django pyelasticsearch

更新: 事实证明,这不是 cron 的功能。从命令行运行脚本时,如果它实际上有一个记录要处理并与 ElasticSearch 通信,我会得到相同的行为。


我有一个运行 python 脚本的 cron 作业,该脚本使用 pyelasticsearch 来索引 ElasticSearch 实例中的一些文档。该脚本在命令行中运行良好,但通过 cron 运行时,会导致此错误:

No handlers could be found for logger "elasticsearch.trace"

显然有一些日志记录配置问题只会在 cron 下运行时出现,但我不清楚它是什么。有什么见解吗?

最佳答案

我通过为 elasticsearch.trace 记录器显式配置处理程序解决了这个问题,正如我在 examples 中看到的那样来自 pyelasticsearch 存储库。

导入 pyelasticsearch 后,像这样设置一个处理程序:

tracer = logging.getLogger('elasticsearch.trace')
tracer.setLevel(logging.INFO)
tracer.addHandler(logging.FileHandler('/tmp/es_trace.log'))

我对保留跟踪日志不感兴趣,所以我使用了近在手边的 Django NullHandler

from django.utils.log import NullHandler
tracer = logging.getLogger('elasticsearch.trace')
tracer.setLevel(logging.INFO)
tracer.addHandler(NullHandler())

关于python - 找不到记录器 "elasticsearch.trace"的处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903202/

相关文章:

javascript - Django 网站未正确检查链接

python - Django Haystack + ElasticSearch分析器

ElasticSearch:使用多个加权函数进行排名;使用 random_score 时,其他功能将被忽略

python - 如何使用keras找到损失值?

python - 如何在图像中找到签名?

django - 如何始终为特定的 Django 模型预取相关

django - 将数据自动索引到 elasticsearch

python - elasticsearch-py 和多处理

python - 使用 BeautifulSoup CSS 选择器获取文本

python - 在很多类 : DRY? 上定义相同的方法覆盖