Skip to main content

Lambda function and Library for writing and reading logs to and from SQS or CloudWatch

Project description

AWS CloudLogger

This project allows for sending log messages from remote devices to AWS, either to a SQS FIFO queue or Cloudwatch. Additionally a library is included for managing and ingesting those logs via the python REPL.

Deployment

Download and install Serverless, then deploy the LogCatcher lambda

cd lambda_functions/LogCatcher
sls deploy

This sets up a Cloudwatch Log Group, an SQS FIFO queue, and an https endpoint in API Gateway. Requests sent to the https endpoint will be forwarded to either Cloudwatch or SQS (default) depending on the optional destination path parameter.

Usage

Producing

Producing log messages is done by sending https requests. These should be a post with the body being the json format of a standard Python LogRecord (i.e. you should be able to call logging.makeRecord(**record) on it).

POST /logs/{destination}
  {
    "name": "foo",
    "level": "INFO",
    "pathname": "/home/user/Foo.py",
    "lineno": 1337,
    "message": "foo",
    "args": null,
    "exc_info": null,
    "func": "Foo.foo",
    "sinfo": ""
  }

Consuming

Consuming log messages can be done via the Cloudwatch interface, or if using SQS, via the Python REPL. Consuming a message deletes it from the SQS queue.

from SQSLogger import SQSLogger
sl = SQSLogger()
sl.consume([name])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

AWSCloudLogger-0.0.2-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file AWSCloudLogger-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: AWSCloudLogger-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for AWSCloudLogger-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1834604ff9584a55ea783b0dd582de9a84463863dfd0cb7b95ca255e506ab877
MD5 b2c85e6a5f0cf57a521e3584e13678e3
BLAKE2b-256 a70315531b17b52a733cf459fb8919d0e57d63d205439a554dc5df871fb29c2c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page