flask系列(三):flask配置日志


欢迎大家阅读 flask系列第三期:flask项目配置日志文件,本篇博文主要讲解在flask框架中如何继承日志系统、通过具体事例讲解加载配置文件的多种方式,旨在帮助不想深入了解flask框架,但想快速上手flask框架的小伙伴们在短时间内熟悉flask框架。想看前两期的小伙伴,可以点击下方链接进行查看阅读:

一、flask框架中集成配置文件

flask框架中集成日志系统是通过 logger属性,该属性是一个缓存的property属性(通过 @cached_property装饰器修饰,是一个flask内部自定义的类),该属性内部调用 create_logger()函数,返回python内置模块 logger对象

@cached_property
def logger(self) -> logging.Logger:
    return create_logger(self)  # 调用create_logger()函数

1.1 create_logger函数内部实现

在create_logger()函数中,发现系统是通过 app.name属性来获取日志对象,如果日志对象没有设置日志等级或者日志处理器,那么就使用默认的等级(Debug)和 默认处理器(StreamHandler,控制台输出日志),如果想在系统中使用flask中logger对象,那么在日志配置文件中,添加 app.name属性对应的日志对象

@LocalProxy
def wsgi_errors_stream() -> t.TextIO:
    if request:
        return request.environ["wsgi.errors"]  # type: ignore[no-any-return]

    return sys.stderr


def has_level_handler(logger: logging.Logger) -> bool:
    level = logger.getEffectiveLevel()
    current = logger

    while current:
        if any(handler.level <= level for handler in current.handlers):
            return True

        if not current.propagate:
            break

        current = current.parent  # type: ignore

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱哭的小孩-boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值