2017-08-17 12 views
0

[scrapy.core.engine]と[scrapy.extensions.logstats]のログレベルをカスタムロガーと同様に 'INFO'にすることができますか?それ以外のものはすべて 'WARNING'に設定してください。私は私のログファイルからいくつかの混乱を取り除くためにこれをしたいと思います。scrapyのログエントリの起点に応じてlog_levelを選択的に設定するにはどうすればよいですか?

ありがとうございます!

EDIT:

this答えで説明したように、私は次のことをやってみました:

DEFAULT_LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'root': {'level': 'WARNING'}, 
    'loggers': { 
     'twisted': { 
      'level': 'ERROR', 
     }, 
     'scrapy.core.engine': { 
      'level': 'INFO', 
     }, 
     'scrapy.extensions.logstats': { 
      'level': 'INFO', 
     }, 
    } 
} 

残念ながら、これはいくつかの理由で動作しません。デフォルトの「警告」レベルはすべてのロガーに適用されるわけではなく、上記のロガーの指定されたレベルは効果がないようです...

答えて

1

どうやらスクラブはloggingを使用しています。

import logging 
for key in logging.Logger.manager.loggerDict: 
    if "scrapy.core.engine" in key or "scrapy.extensions.logstat" in key: 
     logging.getLogger(key).setLevel(logging.WARNING) 
logging.basicConfig(level=logging.INFO) 

私は治療でテストしていませんが、他のパッケージにも使用しています。それがうまくいくことを望みます。

+0

これは間違いなく役立ちますが、私は他のロガーを台無しにすることなくそれを実装することができませんでした。これを行うと、他のロガーのレベルはゼロになり、なぜ私はまだ理解できませんでした。私はしかし、私の質問の編集に記載されている別のアプローチを模索してきました。ありがとうございました。 –

関連する問題