将“ Python日志记录”设置为“ Azure Blob”,但在那里找不到日志文件

时间:2018-07-30 02:44:39

标签: azure logging flask azure-blob-storage

我正在设置登录Flask服务。我尝试使用以下代码将日志写入azure blob存储

import logging
import sys

from azure_storage_logging.handlers import BlobStorageRotatingFileHandler

logger = logging.getLogger('service_logger')
logger.setLevel(logging.DEBUG)
log_formater = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(message)s')
azure_blob_handler = BlobStorageRotatingFileHandler(filename = 'service.log', 
                                                    account_name='servicestorage',
                                                    account_key='',
                                                    maxBytes= maxBytes,
                                                    container='service-log')
azure_blob_handler.setLevel(logging.INFO)
azure_blob_handler.setFormatter(log_formater)
logger.addHandler(azure_blob_handler)

然后,我尝试使用logger.warning('test warning'),但是在蔚蓝色的blob容器上没有创建日志文件。

谁能帮我弄清楚我做错了什么地方?

最好, 本征

1 个答案:

答案 0 :(得分:2)

我在烧瓶中尝试了您的代码,但没有重现您的问题。

代码:

@app.route('/log')
def log():

    import logging
    import sys
    from azure_storage_logging.handlers import BlobStorageRotatingFileHandler

    mystorageaccountname='***'
    mystorageaccountkey='***'

    logger = logging.getLogger('service_logger')
    logger.setLevel(logging.DEBUG)
    log_formater = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(message)s')
    azure_blob_handler = BlobStorageRotatingFileHandler(filename = 'service.log', 
                                                        account_name=mystorageaccountname,
                                                        account_key=mystorageaccountkey,
                                                        maxBytes= 5,
                                                        container='service-log')
    azure_blob_handler.setLevel(logging.INFO)
    azure_blob_handler.setFormatter(log_formater)
    logger.addHandler(azure_blob_handler)

    logger.warning('warning message')

输出:

enter image description here

更多详细信息,您可以参考docsource code

希望它对您有帮助。有任何问题,请告诉我。