Skip to main content

Flask-DatastoreLogger

A logging interface for Google Cloud Datastore

Installation

Add this line to your application's requirements.txt

Flask-DatastoreLogger

And then execute:

$ pip install -r requirements.txt

Or install it yourself as:

$ pip install Flask-DatastoreLogger

Usage

Using DatastoreLogger is dead simple. First set your GOOGLE_APPLICATION_CREDENTIALS environment variable to point at a valid JSON creds file.

$ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/creds.json

The following snippet should get you coding

import logging
from flask import Flask
from DatastoreLogger import DatastoreLog, DatastoreLogHandler
from PubSubDecorator import PubSubDecorator


app = Flask(__name__)
app.pubsub = PubSubDecorator(app)

@app.pubsub.subscribe(
    subscription='run_task'
    topic='task_queue',
    route='/run_task',
    methods=['POST']
)
def run_task(message, *args, **kwargs):
    task_id = message.get('task_id')

    task_logger = logging.getLogger('task_log_{0}'.format(task_id))
    handler = DatastoreLogHandler('task_log', task_id)

    task_logger.addHandler(handler)
    task_logger.setLevel(logging.DEBUG)

    task_logger.info('Starting Task #{0}'.format(task_id))

    # process task actions logging messages with task_logger

    return '', 200


@app.route('/task_log/<int:task_id>', methods=['GET'])
def task_log(task_id):
    log = DatastoreLog('task_log', task_id)
    return log.stream_response()

Testing

$ pytest -s --show-capture=no tests.py

Metadata

Release files for Flask-DatastoreLogger 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Flask-DatastoreLogger 0.0.3
File Size Uploaded
Flask-DatastoreLogger-0.0.3.tar.gz 3.2 kB Details

Release files / Flask-DatastoreLogger-0.0.3.tar.gz

Download URL Flask-DatastoreLogger-0.0.3.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b374329cb940728639a395c1111bea1a4ff99c0dce19bd8ee723287cd7b0ea2a
BLAKE2b-256 checksum
How to use checksums
1829edbae8039d2938b0c2242133bba6433f7b6c54f2f32881f01ea51efa1331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.3 This release

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page