【发布时间】:2020-11-18 15:18:10
【问题描述】:
在 AWSIoTPythonSDK 中,在 MqttCore.py 中,有 logger 定义 '''class MqttCore(object): _logger = logging.getLogger(name)''' 每次在控制台中打印“订阅超时”时,有没有办法强制停止 IoT SDK 的记录器。我知道不建议这样做,但我非常需要强行阻止它。
【问题讨论】:
在 AWSIoTPythonSDK 中,在 MqttCore.py 中,有 logger 定义 '''class MqttCore(object): _logger = logging.getLogger(name)''' 每次在控制台中打印“订阅超时”时,有没有办法强制停止 IoT SDK 的记录器。我知道不建议这样做,但我非常需要强行阻止它。
【问题讨论】:
我不知道它是否推荐,但我做到了:
sdk_logger = logging.getLogger('AWSIoTPythonSDK.core.protocol.mqtt_core')
sdk_logger.setLevel(logging.WARNING)
您可以在这里看到他们将其打印到不同文件的示例: https://docs.aws.amazon.com/code-samples/latest/catalog/python-iotthingsgraph-camera.py.html
这是一个非常简单的解释,说明导入模块时日志记录的一般工作原理(如果需要)https://www.youtube.com/watch?v=jxmzY9soFXg&ab_channel=CoreySchafer
信用:How do I define a different logger for an imported module in Python?
【讨论】: