Flask使用日志记录的方式:
1. 初始化flask应用实例
在flask中使用logger,需要初始化一个flask的应用
app = Flask(__name__)
2. 调用logger
直接调用logger方法
代码语言:javascript复制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进行,如下代码:
代码语言:javascript复制import logging
2. 设置logging的路径
代码语言:javascript复制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可以设置此名称,如:
代码语言:javascript复制app.logger.name="appLogger"
详情可参考官方文档:https://docs.python.org/3/library/logging.html#logger-objects