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"

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-03-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微服务那些事儿

SpringCloud与elastic-job集成(一)

在项目初期,基于quartz我们做了一个原始的job调度服务,用以执行我们的定时任务,但是随着业务的扩充,对性能及稳定性有了更高的要求.

2.7K9
来自专栏运维小白

9.2 grep(中)

grep用法 grep -n 'root' /etc/passwd grep -nv 'nologin' /etc/passwd grep '[0-9]'/et...

1907
来自专栏三木的博客

Linux shell 程序设计2——bash的内置命令

常用的内置命令忽略,来看看shell编程中其他一些重要的内置命令: 1、help:显示所有内置命令列表,或显示一个具体命令的用法。 -s: 表示列出命令的语法...

2196
来自专栏FreeBuf

Node.js中的内存泄漏分析

内存泄漏(Memory Leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。如果内存泄漏的位置比较关键,那么随着处理的进行可能持有越来越多的无用...

5245
来自专栏上善若水

L14c程序执行的环境变量

execve(执行文件)在父进程中fork一个子进程,在子进程中调用exec函数启动新的程序。exec函数一共有六个,其中execve为内核级系统调用,其他(e...

1083
来自专栏码生

django 学习笔记三

拦截到url 后,通过拦截到的URL和 request 做一些不同的响应(response)

1122
来自专栏电光石火

运行jar包找不到主类

在正确编译好java程序之后,打包,然后在命令行输入java -jar ,却弹出找不到或无法加载主类。 一检查,我的path环境变量都是对的呀?jav...

5299
来自专栏行者常至

(Servlet)常见错误及解决方式

·404数字 指的是:服务器执行完客户端的请求后,返回给客户端一个执行结果的状态编码。

844
来自专栏python3

python爬虫常用模块

涉及到网络这块,必不可少的模式就是urllib.request了,顾名思义这个模块主要负责打开URL和HTTP协议之类的

1101
来自专栏Android干货

Python IO编程

循环读取文件内容,一般读取文件内容一次读取完,内存是不够的,就要实现一次次少量数据读取

1202

扫码关注云+社区

领取腾讯云代金券