#创建logger
#创建handler
#定义formatter
#给handler添加formatter
#给logger添加handler
import logging
#Logger组件:日志记录器,初始化日志类
logger = logging.getLogger("mylogger")
#设定日志级别,最低DEBUG级别就会报错,不设置默认为WARRING,这样DEBUG以及INFO不显示。
logger.setLevel(logging.DEBUG)
#TimeRotationFileHandler是用来按照日期去划分日志
#RotationFileHandler是按照日志文件的大小划分日志,默认10M
#创建debug_handler
#将产生的日志文件,存储在当前文件夹下(可设置指定路径),文件名为debug.log
debug_handler = logging.FileHandler("debug.log")
#设置debug_handler代表的日志级别
debug_handler.setLevel(logging.DEBUG)
#设置debug_handler的日志记录格式,asctime当前时间,levelname级别名字,message显示报错内容,具体的内容由后面每个函数具体带入。
debug_handler.setFormatter(logging.Formatter('%(asctime)s--%(levelname)s---%(message)s'))
#error的日志级别各项设置
error_handler = logging.FileHandler("error.log")
error_handler.setLevel(logging.ERROR)
error_handler.setFormatter(logging.Formatter('%(asctime)s--%(levelname)s---%(message)s'))
#给logger添加handler
logger.addHandler(debug_handler)
logger.addHandler(error_handler)
#创建log函数
def log(func):
def wrapper(*arg,**kw):
logger.debug("this is a debugger info")
logger.error("this is a error info")
return func(*arg,**kw)
return wrapper
def loghigher(text):
def decorator(func):
def wrapper(*arg,**kw):
logger.debug(text)
logger.error(text)
return func(*arg,**kw)
return wrapper
return decorator
#添加装饰器的案例
@log
def test():
print("test done")
@loghigher("this is test1 done")
def test1():
print("test1 done")
@loghigher("this is main done")
def main():
print("main done")
#调用函数
test()
test1()
main()
Flask记录_日志处理_logging模块_装饰器
最新推荐文章于 2024-01-08 18:13:38 发布