Skip to main content

Simple, beautiful logging from Flask web apps to FireBug console

Project description

fireflask

I’ve long wanted to use FirePython for debugging Flask web apps, but could never seem to get it working right.

After a long time away, I circled back to it, and with help from the Flask folks, got it working smoothly.

Indeed, it was so simple to do, knowing the right invocation and configuration, that I can only blame myself for not getting it earlier. My only consolation is that there is no real documentation (the usage link on FireLogger’s home page is a dead link).

So, having figured it out, I’m sharing in the hopes that others can now simply use this beautiful tool.

http://content.screencast.com/users/jonathaneunice/folders/Jing/media/ca71bb7a-e383-4607-a66a-12a27f18208e/00000330.png

Basic Idea

The code is sufficiently simple I can put the core of it here:

from flask import Flask
from logging import DEBUG
from firepython.middleware import FirePythonWSGI, logging

app = Flask('appname')
app.wsgi_app = FirePythonWSGI(app.wsgi_app)
logging.getLogger().setLevel(DEBUG)

That’s it. Now you’re off to the races. When the app server is run, any logging messages you direct to the logging object end up in your FireBug / FireLogger console. More complete versions of this demo code can be found in trivial.py and demo_primitive.py in the repository.

FireFlask

To make things even simpler, the fireflask module requires just two lines of code (one to import fireflask, and one to put it into operation).

from flask import Flask
from fireflask import *

app = Flask('appname')
FireFlask(app)

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

    logging.info('serving hello_world content')
    return 'Hello World!'

app.run()

Here we’ve completed the program with a function that provides content, and the startup code for the Flask web server. fireflask isn’t a huge lines-of-code savings, but it will save you a few steps and make the program cleaner.

Notes

  • This has been tested under Python 2.7. No promises are made for other versions of Python.

  • The author, Jonathan Eunice or @jeunice on Twitter welcomes your comments and suggestions.

Installation

To install or upgrade to the latest version of fireflask:

pip install -U fireflask

This will install the firepython module automatically. Or, if you want to use just the primitive approach:

pip install -U firepython

(You may need to prefix these with sudo to authorize installation.)

Use the standard Firefox tools to install FireBug and the FireLogger extension.

Use

To run the demonstration programs, run trivial.py, demo_primitive.py or demo.py.

Browse to 127.0.0.1:5000 in Firefox, with the FireBug extension turned on, and the Logger pane visible. This is the FireBug icon:

http://content.screencast.com/users/jonathaneunice/folders/Jing/media/795cbb0a-aa03-4d01-993f-4a1e4e2ce427/00000329.png

When FireBug is operational, it’s displayed in color, not grayed out. If you browse to the page before FireBug is turned on, you’ll need to reload the page to see the logged messages.

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

fireflask-0.2.0.zip (8.7 kB view details)

Uploaded Source

fireflask-0.2.0.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

fireflask-0.2.0-py2.py3-none-any.whl (6.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file fireflask-0.2.0.zip.

File metadata

  • Download URL: fireflask-0.2.0.zip
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fireflask-0.2.0.zip
Algorithm Hash digest
SHA256 b0e7a8cf1d2d5c121100a086ed9940ab6364e6ddf1aa59ef2eff2f9de3467b53
MD5 a6df2f62a90b220f3a7dfcbef4e4d14f
BLAKE2b-256 03e57bb055383772cea9ac959a55e5042f3d3ed513ac65e5c718fe270a2a309e

See more details on using hashes here.

File details

Details for the file fireflask-0.2.0.tar.gz.

File metadata

  • Download URL: fireflask-0.2.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fireflask-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0d6318741010c9551dd480872c9483dab8598b2dc53d28b3e5123acec42262ba
MD5 374f3f2d881ae1505eb95be85239e404
BLAKE2b-256 dcf29bbf8d743ce4116e99a4ffcf40a9cb1889d4a4eb52cc44fedfe1dbd0663c

See more details on using hashes here.

File details

Details for the file fireflask-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for fireflask-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1c8c5ccbbd21c377d210b4ca8cd7b2c5c5f7523e4680bcf7ec3ffc3b4275c98b
MD5 4eca254d81ba457fdf4076d24fe076bc
BLAKE2b-256 8d8ac0bbee7c7c2f5bf42a708a7649b5712fe3d34b4306d41f0ea08a30fa9ae7

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