日志记录。NullHandler怎么在Python中使用

  介绍

这篇文章将为大家详细讲解有关日志记录。NullHandler怎么在Python中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在使用矮小的框架时,默认是不会出现日志消息的。

得到peewee  import 模型,,,,CharField DateTimeField, IntegerField   得到peewee_mssql  import  MssqlDatabase   时间=db  MssqlDatabase(数据库=& # 39;测试# 39;,,主机=& # 39;强生# 39;,,用户=& # 39;sa # 39;,,密码=& # 39;sa # 39;)   class  BaseModel(模型):   ,class 元:   database 才能=db   class 人(BaseModel):=,,Name  CharField (verbose_name=& # 39;姓名& # 39;,,max_length=20)=,,Age  IntegerField (verbose_name=& # 39;年龄& # 39;)=,,Birthday  DateTimeField (verbose_name=& # 39;生日& # 39;,,null=True)   时间=p 人(Name=& # 39;张三& # 39;,,年龄=& # 39;20 & # 39;,,生日=& # 39;2018 - 01 - 01 & # 39;)   p.save ()

我们在上面代码中加上一个日志的定义:

import 日志记录   时间=logger  logging.getLogger(& # 39;小东西# 39;)   logger.setLevel (logging.DEBUG)   logger.addHandler (logging.StreamHandler ())

神奇的现象出现了,运行程序打出了一行日志:

我们虽然定义了日志,但是并没有写任何的日志,那么这一行日志是哪里来的呢?

查看小东西的源码,发现其中有日志的定义:

关于日志记录。NullHandler网,上大多数的解释就一句话:该处理程序实例会忽略错误消息,通常被想使用日志的图书馆开发者使用来避免& # 39;没有处理程序能找到记录器xxx # 39;信息的出现。

乍看没明白,仔细一想就明白了,其实很简单。<代码> logging.getLogger(名字)方法是使用工厂方法返回一个记录器实例,如果名为名字的记录器已存在,则直接将其返回。

在矮小的中,定义了一个名为“小东西”的日志,但是只给了一个NullHandler,我们在代码中,<代码>记录器=logging.getLogger(& # 39;小东西# 39;),这句实则就是获取了小东西中定义的记录器,并给它添加了一个StreamHandler,那自然就可以输出日志了。不信?给自己代码中的记录器改个名字,看看还有日志输出不。

关于日志记录。NullHandler怎么在Python中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

日志记录。NullHandler怎么在Python中使用