介绍
这篇文章将为大家详细讲解有关日志记录。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中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。