跳转到主要内容

用于增强aws lambda日志的Nanolib

项目描述

https://gitlab.com/hadrien/aws_lambda_logging/badges/master/build.svg https://gitlab.com/hadrien/aws_lambda_logging/badges/master/coverage.svg?job=Run%20py.test

为在python运行时环境中运行的aws lambda提供更好的日志记录,具有高度意见的JSON格式化,以简化任何日志系统的解析。

使用方法

import aws_lambda_logging


def handler(event, context):
    aws_lambda_logging.setup(level='DEBUG')
    ...

您可以单独设置Boto的日志级别(默认与同一级别相同)

import aws_lambda_logging


def handler(event, context):
    aws_lambda_logging.setup(level='DEBUG', boto_level='CRITICAL')
    ...

您可以为每次日志记录添加关键字参数,例如lambda请求ID。

import aws_lambda_logging


def handler(event, context):
    aws_lambda_logging.setup(level='DEBUG',
                             aws_request_id=context.get('aws_request_id'))
    log.debug('Just a try!')
    ...

它将输出JSON格式的消息

{
    "level": "DEBUG",
    "timestamp": "2016-10-03 13:27:57,438",
    "apigw_request_id": "323fee86-896d-11e6-b7fd-2d914ea80962",
    "location": "root.handler:6",
    "message": "Just a try!"
}

您可以输入一个JSON字符串

log.debug('{"Details": [1,2,3]}')

它将输出包含正确嵌入的JSON字符串的JSON格式的消息

{
    "level": "DEBUG",
    "timestamp": "2016-10-03 13:27:57,438",
    "apigw_request_id": "323fee86-896d-11e6-b7fd-2d914ea80962",
    "location": "root.handler:6",
    "message": {
        "Details": [
            1,
            2,
            3
        ]
    }
}

您可以输入一个字典

log.debug({"Details": [1,2,3]})

它将输出包含字典值的JSON格式的消息

{
    "level": "DEBUG",
    "timestamp": "2016-10-03 13:27:57,438",
    "apigw_request_id": "323fee86-896d-11e6-b7fd-2d914ea80962",
    "location": "root.handler:6",
    "message": {
        "Details": [
            1,
            2,
            3
        ]
    }
}

任何可以序列化为JSON的值都将被强制转换为字符串。此行为可以通过将格式化函数解析到 json_default 关键字参数来更改。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分布

aws_lambda_logging-0.1.1.tar.gz (3.8 kB 查看哈希值)

上传时间:

由以下组织支持