64

私はBotoライブラリを使用してAWSと通信しています。ロギングを無効にしたい。(または/ dev / nullまたは他のファイルにリダイレクトします)。私はこれを行うための明白な方法を見つけることができません。私はこれを試しましたが、それは役に立たないようです:

import boto
boto.set_file_logger('boto', 'logs/boto.log')

これは可能であると言っています、http://developer.amazonwebservices.com/connect/thread.jspa ?messageID = 52727&#52727しかし、私が知る限り、ドキュメントにはその方法が記載されていません。

4

9 に答える 9

100

あなたは試すことができます

import logging
logging.getLogger('boto').setLevel(logging.CRITICAL)

これにより、(CRITICAL 以外の) すべてのエラーが抑制されます。

Boto はロギング構成ファイル (例: ) を使用するため/etc/boto.cfg~/.boto必要に応じて構成できるかどうかを確認してください。

このset_file_logger呼び出しは、ユーザー定義ファイルをロギング設定に追加するだけなので、それを使用してロギングをオフにすることはできません。

于 2009-11-03T12:23:56.903 に答える
9

propagateさらに良いことに、botoを無効にします。

import boto
boto.set_file_logger('boto', 'logs/boto.log')
logging.getLogger('boto').propagate = False
于 2016-03-23T17:00:21.503 に答える
2

このソリューションでは、boto 以外のログも無効になることに注意してください。代わりにmchlfchr の回答を参照してください。


私にとって、投稿された解決策はどれも残念ながら機能しませんでした。おそらくその間の boto 自体の変更によるものです。

しかし、時々、マニュアルを見ると役立つことがあります..

import logging
import boto3
boto3.set_stream_logger('', logging.CRITICAL)
于 2019-12-04T17:33:41.370 に答える