2015-11-24 7 views
7

更新日: これはcronの機能ではありません。実際にElasticSearchと処理して通信するレコードがあれば、コマンドラインからスクリプトを実行するときと同じ動作をします。ロガー "elasticsearch.trace"のハンドラが見つかりません


私はElasticSearchインスタンスにインデックスにいくつかの文書をpyelasticsearchを使用するPythonスクリプトを実行するcronジョブを持っています。このスクリプトは、コマンドラインから正常に動作しますが、cronを経由して実行すると、このエラーが発生:

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

は明らかにcronの下で実行する場合にのみ、最大作物いくつかのロギング設定の問題がありますが、私は何をクリアしていませんよそうです。どんな洞察?

答えて

7

elasticsearch.traceロガーのハンドラを明示的に設定して解決しました。これは、pyelasticsearch repoのexamplesにあります。そのようにハンドラを設定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()) 
+0

それは私が言うことができる、最高のことは注目に値します、「何のハンドラが見つかりませんでした」のメッセージは情報だけのためのものです。彼らは問題を示すものではありません。 – Laizer

関連する問題