使用Paramiko Python模块时如何避免这些[email protected]日志消息?

问题描述 投票:2回答:1

我正在使用Python Paramiko模块从SFTP服务器下载文件。

但它会持续显示以下日志消息。

Wed Dec 20 06:51:00 2017 transport         line:1572 22192 /PoolWorker-13        139861396514560 Thread-138           DEBUG    Received global request "[email protected]"
Wed Dec 20 06:51:00 2017 transport         line:1572 22192 /PoolWorker-13        139861396514560 Thread-138           DEBUG    Rejecting "[email protected]" global request from server.
Wed Dec 20 06:51:00 2017 transport         line:1572 22192 /PoolWorker-13        139861395986176 Thread-140           DEBUG    Received global request "[email protected]"
Wed Dec 20 06:51:00 2017 transport         line:1572 22192 /PoolWorker-13        139861395986176 Thread-140           DEBUG    Rejecting "[email protected]" global request from server.

避免在Paramiko模块的日志中显示上述行所需的更改是什么?我在Python 2.7.6上使用Paramiko 2.1.2模块。如果我们使用pysftp模块而不是Paramiko,这些日志行是否会消失?

python python-2.7 logging sftp paramiko
1个回答
2
投票

使用Logger.addFilter过滤掉它们:

class KeepalivesFilter (object):
    def filter(self, record):
        return record.msg.find('[email protected]') < 0

paramiko.util.get_logger('paramiko.transport').addFilter(KeepalivesFilter())

(使用pysftp无济于事,因为它内部使用Paramiko)

© www.soinside.com 2019 - 2024. All rights reserved.