Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aws-lambda-logging

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aws-lambda-logging

Nanolib to enhance logging in aws lambda

  • 0.1.1
  • PyPI
  • Socket score

Maintainers
1

================== AWS Lambda Logging

.. image:: https://gitlab.com/hadrien/aws_lambda_logging/badges/master/build.svg

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

Better logging for aws lambda running on python runtime environment with a highly opinionated JSON formatting to ease parsing on any logging system.

Usage

.. code::

import aws_lambda_logging


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

You can separately set the logging level for Boto (defaults to the same level):

.. code::

import aws_lambda_logging


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

You can add keyword arguments to be logged each time, such as lambda request id.

.. code::

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!')
    ...

It will output JSON formatted message:

.. code::

{
    "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!"
}

You can input a JSON string:

.. code::

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

It will output JSON formatted message with the JSON string embedded properly:

.. code::

{
    "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
        ]
    }
}

You can input a dict:

.. code::

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

It will output JSON formatted message with the dict values:

.. code::

{
    "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
        ]
    }
}

Any values that can otherwise be serialisabled to JSON are coerced to strings. This behaviour can be changed by parsing a formatter function to the json_default keyword argument.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc