Flask记录_日志处理_logging模块_装饰器

#创建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()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值