Azure Blob存储SDK:关闭日志记录

时间:2018-08-28 06:33:55

标签: azure azure-blob-storage

我有一个正在使用azure.storage.blob python模块的应用程序。

很明显,当我执行它时,该模块会将其日志数据转储到我不想要的记录器中,因为它很大,并且我自己的应用程序信息在它们之间丢失了。

是否可以从azure.storage.blob python模块中删除记录器?

日志示例:

  

INFO:azure.storage.common.storageclient:Client-Request-ID = d5afebc0-aa84-11e8-be16-000d3ae070ae   寄出要求:Method = PUT,   路径= / marketingcloud-raw-events / 2018/8/27 / bounce.csv,   Query = {'timeout':None},Headers = {'Content-Length':'38176',   'x-ms-blob-type':'BlockBlob','x-ms-version':'2018-03-28',   'x-ms-lease-id':无,'x-ms-client-request-id':   'd5afebc0-aa84-11e8-be16-000d3ae070ae','如果匹配':无,   'If-Modified-Since':无,'If-None-Match':无,'User-Agent':   'Azure-Storage / 1.3.0-1.3.1(Python CPython 2.7.15; Linux   4.15.0-1021-azure)'

4 个答案:

答案 0 :(得分:1)

正如Thomas在评论中提到的,您可以发现code日志数据封装在azure.storage.blob python sdk中。据我所知,没有这样的开关可以关闭此日志记录机制。

1。您可以自己封装SDK,并摆脱这些冗余日志。

2。或者,您也可以尝试在应用程序日志中添加特殊标签,并过滤掉多余的其他日志数据。

3。您可以提交feedback以使天蓝色,以使日志数据为可选。

希望它对您有帮助。

答案 1 :(得分:1)

我遇到了同样的问题,即azure blob API正在向日志流发送垃圾邮件。 构建BlobClient时,您还可以传递自定义记录器,您可以根据需要对其进行控制。

logger = logging.getLogger("logger_name")
logger.disabled = True
my_blob_client = BlobClient.from_connection_string("azure blob connection string", container_name="container", blob_name="blob", logger=logger)

答案 2 :(得分:0)

这实际上很容易做到。您可以调整任何记录器。

只需在程序开始时执行此操作,即可将详细信息从INFO切换为WARNING或您喜欢的任何内容。

logging.getLogger("azure.storage.common.storageclient").setLevel(logging.WARNING)

答案 3 :(得分:0)

有些消息与 http 调用有关。还可以尝试以下操作:

logger=logging.getLogger('azure.core.pipeline.policies.http_logging_policy')
logger.setLevel(logging.WARNING)