ParamikoSSHClient
クラスのconnect関数を呼び出すと、接続の確立に関するログデータが出力されますが、これは抑制したいと思います。
Paramiko自体、または一般的なPythonを介してこれを行う方法はありますか?
Paramiko はデフォルトでは何も出力しません。おそらく、logging モジュールを呼び出して、paramiko が独自のログを設定するときに継承されるログレベルを設定しています。
paramiko logger で設定を上書きしたい場合:
logger = paramiko.util.logging.getLogger()
すべてをファイルに記録する便利な関数もあります。
paramiko.util.log_to_file('filename.log')
Paramiko が何であるかはわかりません。確かにログ レベルの設定があるはずですが、必死で一時的な解決策を探していて、アプリがシングル スレッドである場合
import sys
dev_null = sys.stdout = sys.stderr = open('/dev/null', 'w')
try:
.
. connect()
.
finally:
dev_null.close()
「/dev/null」がない OS を使用している場合は、出力に StringIO を使用することもできます。