从Flask Web应用程序到Firebug控制台的简单、漂亮的日志记录

fireflask的Python项目详细描述


烧瓶

我早就想用FirePython来调试Flaskweb应用程序,但似乎永远无法让它正常工作 正确的。

离开很长一段时间后,我绕着圈子回到它身边,然后with help from the Flask folks,它开始工作了 很顺利。

事实上,知道正确的调用和 配置,我只能怪自己没有早点得到它我的 唯一的安慰是没有真正的文档(上的usage链接 消防员的主页是一个死链接)

所以,在弄清楚之后,我希望其他人 现在可以简单地使用这个漂亮的工具了。

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

基本思想

代码非常简单,我可以把它的核心放在这里:

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)

就这样。现在你要去参加比赛了。当应用服务器运行时, 任何直接指向logging对象的日志消息都将结束 在您的FireBug/FireLogger控制台中更完整的版本 演示代码可以在trivial.py和^{tt3}中找到$ 在仓库里

烧瓶

为了使事情更简单,fireflask模块只需要 两行代码(一行导入fireflask,一行放入 投入运行)。

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()

在这里,我们已经完成了这个程序,它提供了一个函数 内容和Flask Web服务器的启动代码。 fireflask不是一大行代码 省钱,但它能帮你节省几步 使程序更简洁

注释

  • 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.

安装

要安装或升级到最新版本的fireflask

pip install -U fireflask

这将自动安装firepython模块。 或者,如果您只想使用基本方法:

pip install -U firepython

(您可能需要在它们前面加上sudo以授权安装。)

使用标准的firefox工具安装firebug和 消防员分机

使用

要运行演示程序,请运行 trivial.pydemo_primitive.pydemo.py

使用FireBug扩展名浏览到Firefox中的127.0.0.1:5000 打开,日志窗格可见。这是萤火虫图标:

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

当firebug运行时,它以彩色显示,而不是灰色 出去。如果在firebug打开之前浏览到该页,您将 需要重新加载页面才能查看记录的消息

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用jaxrpc的Java eclipse WebService客户端   java编程方式在对象上写入名称   java Spring批处理:重试后跳过   java Android错误:错误:任务执行失败:应用程序:transformClassesWithDexForDebug'   带有清单文件nullPointerException的java Android元数据   spring Java Quartz调度作业停止运行   JavaMockito:如何在不调用实际方法的情况下,模拟带有参数和无效返回类型的静态方法?   java Tomcat连接池问题无法在关闭的连接上调用方法   java如何交换列表中的项目?   java如何停止线程并通过Toast在线程中正确显示文本?   java为什么连续写入OutputStream时偏移量0不会导致重复字节?   java我无法生成头文件   不兼容的返回类型错误java   修改值后键值对的java Jolt转换规范   java有自动更新Javadoc的工具吗?   java线程如何在ints自身实例类中共享变量   java继承一个非gwt模块   java Hibernate xml配置   使用netty4异步调用的java链接HTTP请求响应