python web开发-flask中日志的使用

Flask使用日志记录的方式:

1. 初始化flask应用实例

在flask中使用logger,需要初始化一个flask的应用

app = Flask(__name__)

2. 调用logger

直接调用logger方法

app.logger.info("my first logging")

这里记录的是info级别的日志

3. 查看结果

运行结果如下:

INFO in Code [D:/xxxxx/flask/Code.py:20]:

my first logging

默认情况下,flask的日志是打印在屏幕上的。不过一般我们是需要在一个文件里进行日志记录的,下面我们来看一下如何设置日志记录在文件上。

1. 引用logging

因为flask的日志底层引用的是python的logging,设置需要通过python的logging进行,如下代码:

import logging

2. 设置logging的路径

logging.basicConfig(filename="D:\\flaskLog\\log.txt",format=‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)

上面的代码里设置了两个参数,filename设置的是日志的记录文件(注意设置文件夹的权限),后一个参数设置了日志的打印格式。

格式化中的常用参数如下:


%(name)s


Logger的名字


%(levelno)s


数字形式的日志级别


%(levelname)s


文本形式的日志级别


%(pathname)s


调用日志输出函数的模块的完整路径名,可能没有


%(filename)s


调用日志输出函数的模块的文件名


%(module)s


调用日志输出函数的模块名


%(funcName)s


调用日志输出函数的函数名


%(lineno)d


调用日志输出函数的语句所在的代码行


%(created)f


当前时间,用UNIX标准的表示时间的浮 点数表示


%(relativeCreated)d


输出日志信息时的,自Logger创建以 来的毫秒数


%(asctime)s


字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒


%(thread)d


线程ID。可能没有


%(threadName)s


线程名。可能没有


%(process)d


进程ID。可能没有


%(message)s


用户输出的消息

3. 查看结果

再次运行后,可以看到在我们设置的路径下的txt文件中出现了日志记录

这里我们看到有一个appLogger,这是日志的名称,通过logger.name可以设置此名称,如:

app.logger.name="appLogger"

详情可参考官方文档:https://docs.python.org/3/library/logging.html#logger-objects

更多文章关注微信公众号“挨踢学霸”

原文地址:http://blog.51cto.com/12482328/2090498

时间: 2024-10-11 04:44:36

python web开发-flask中日志的使用的相关文章

python web开发-flask中url带斜线/和不带斜线/的区别详解

flask中带斜线和不带斜线的url 通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url" 先同时定义两种url,一种带"/",一种不带"/",如下代码: @app.route("/url")def urlWithOut():return "url with out /" @

python web开发-flask中访问请求数据request

Request对象在web应用的开发中是一个非常重要的对象,主要用来获取用户发来的请求数据. 常用属性参考:http://docs.jinkan.org/docs/flask/api.html#flask.request 下面我们以一个表单提交的例子来说明一些常用request属性的使用. 1. 创建一个表单的template 在templates文件夹下面创建form.html模板文件,输入下面的代码 {% extends "base.html" %} {% import "

python web开发-flask中sqlalchemy的使用

SqlAlchemy是一个python的ORM框架. 在flask中有一个flask-sqlalchemy的扩展,使用起来很方便. 1.       创建一个sqlalchemy的Model模块 创建一个models.py的模块 创建model的时候,首先引入flask-sqlalchemy的扩展 from flask import Flask from flask_sqlalchemy import SQLAlchemy 然后初始化app和sqlalchemy app = Flask(__na

python web开发-flask中读取txt文件内容

某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于简单的文件读取以及读取量比较小的时候.详细代码如下: @app.route('/<path>')def today(path):base_dir = os.path.dirname(__file__)resp = make_response(open(os.path.join(base_dir,

python web开发-flask中消息闪现flash的应用

Flash中的消息闪现,在官方的解释是用来给用户做出反馈.不过实际上这个功能只是一个记录消息的方法,在某一个请求中记录消息,在下一个请求中获取消息,然后做相应的处理,也就是说flask只存在于两个相邻的请求中"闪现",第三次请求就不存在这个flash了. 下面我们用一个例子来说明一个是如何"闪"的. 首先引入flash和get_flashed_message方法 from flask import Flask,url_for,render_template,requ

python web开发-flask连接sqlite数据库

在之前的文章中我们介绍了如何在centOS中安装sqlite数据库. Sqlite安装完成后,本节就用flask来连接和操作sqlite数据库. 1.       数据准备 先在sqlite3中创建一个数据库mydb,执行sqlite3 mydb 然后执行.databases命令,查看我们创建的数据库 可以看到我们把数据库文件放到了/www/db/mydb文件夹下面 然后我们创建一个user表 使用insert语句 ,写入一条数据到user表中 2.       在code.py中添加获取用户列

Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》

首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结构. 支持事务.分片.主从复之.支持RDB(内存数据保存的文件)和AOF(类似于MySQL的binlog)两种持久化方式.3.0加入订阅分发.Lua脚本.集群等特性. 命令参考:http://doc.redisfans.com 中文官网:http://www.redis.net.cn 安装(都大同小

python web 开发学习路线

自己目前学习python web 开发, 经过两个月的摸索,目前对web开发有了浅显的认识,把自己的学习过程贴出来.1.python入门推荐老齐<从零开始学python>,<python简明教程>,这两本书很适合小白入门(像我一样长期徘徊在编程门外的人)2.python进阶推荐<python学习手册>,python学习手册的前半部分与在入门教程中的基础部分相重复,后面部分对python的介绍更细致,比如面向对象的这部分对于小白理解相对容易.还有一本<python

《Python Web开发与接口测试》

为什么学习本书: 是否想学习Python web开发而找不到很好的入门教程. 是否很想知道当你点击一个按钮后,程序到底经过哪些过程把你想要的页面展现在你面前. 是否想告诉别人,不就是开发嘛,我也会. 是否想知道接口到底是什么,它是如何被开发出来的,我们又如何对它进行测试? 为什么是Django? 我们总是很难去决定一件事情.比如,我到底该学Java 呢还是C# 呢? 到底测试的工资高还是开发的高?我学习了Python之后,想学习web开发,是Django 还是Flask 好学.强大和灵活? 搞J