"elasticsearch.trace" 没有找到处理程序

8
更新: 事实证明,这不是cron的功能。如果脚本确实有要处理的记录并与ElasticSearch通信,则从命令行运行该脚本会产生相同的行为。
我有一个cron作业,运行一个使用pyelasticsearch在ElasticSearch实例中索引一些文档的python脚本。脚本在命令行下工作正常,但是通过cron运行时,会导致以下错误:
“没有找到适合“elasticsearch.trace”记录器的处理程序。”
显然,在cron下运行时出现了某些日志配置问题,但我不清楚具体是什么。有什么见解吗?
1个回答

9
我通过在elasticsearch.trace记录器上显式配置处理程序来解决了这个问题,就像我在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())

值得注意的是,据我所知,“找不到处理程序”消息只是提供信息,它们并不表示存在问题。 - Laizer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接