当前位置: 首页 > news >正文

塔吊司机建设网站百度移动端点赞排名软件

塔吊司机建设网站,百度移动端点赞排名软件,建设网站的公司广州,网络规划设计师2023论文目录 logging模块 logging核心组件 logger handler StreamHandler:把日志内容在控制台中输出 FileHandler:把日志内容写入到文件中 filter formatter 注意日志级别的继承问题 logger.exception 上述样例的整体代码 日志的配置文件及其模板 lo…

目录

logging模块

logging核心组件

logger

handler

                StreamHandler:把日志内容在控制台中输出

                FileHandler:把日志内容写入到文件中

filter

formatter

注意日志级别的继承问题

logger.exception

上述样例的整体代码  

 日志的配置文件及其模板


logging模块

        logging是Python的内置日志模块,用于生成程序日志。l

        logging有五个日志级别,从低到高进行排序:DEBUG、INFO、WARMING、ERROR、CRITICAL。日志内容的记录只会记录当前设定等级及其以上的等级,例如级别为WARMING,日志的内容就只会记录WARMING、ERROR、CRITICAL,这三个级别的内容

        logger默认的级别是warming

logging核心组件

        logger(记录器):可以实例化多个记录器用于记录不同的日志要求

        handler(处理器):可以定义多个处理器处理不同的日志保存或发送要求

        filter(过滤器):可以对记录器的选择进行筛选

        formatter(格式器):可以对日志的内容进行格式化要求

logger

        logging.getLogger()

                定义多个logger,通过不同的名字的来创建不同的looger

        loggin.setLevel()

                定义记录器的日志级别

first_logger = logging.getLogger(name='FirstLogger')
second_logger = logging.getLogger(name='SecondLogger')
second_logger.setLevel(logging.DEBUG)
print(f'first_logger:{first_logger}')
print(f'second_logger:{second_logger}')

handler

        两个经常使用的handler

                StreamHandler:把日志内容在控制台中输出

                参数为None,也可选:

                sys.stderr、 sys.stdout

                stdout,stderr的中文名字分别是标准输入,标准输出和标准错误

stream_handler = logging.StreamHandler(stream=None)formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
first_logger.addHandler(stream_handler)
stream_handler.setFormatter(formatter)
first_logger.warning('warning text',)

                FileHandler:把日志内容写入到文件中

                3个主要参数,filename、mode、encoding、分别是文件名、写入模式、编码格式,大致跟一般的写入文件一致

file_handler = logging.FileHandler(filename='file_log',mode='a',encoding='utf-8')formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
first_logger.addHandler(file_handler)
file_handler.setFormatter(formatter)
first_logger.warning('warning text',)

filter

        logging.Filter()

        可以过滤使用不同的记录器,可以设置记录器的名字是否与过滤条件一致

        例如

        second_logger记录器的名字为【SecondLogger】, third_logger记录器的名字为【aabb.ccthird_logger】,而过滤器的格式为【aabb.cc'】        

        两个过滤器都是使用StreamHandler但是最终只有third_logger的日志内容被打印,因为只有third_logger的名字满足过滤器的条件

third_logger = logging.getLogger('aabb.ccthird_logger')
third_logger.warning('123')flt = logging.Filter('aabb.cc')
third_logger.addFilter(flt)
second_logger.addHandler(stream_handler)
second_logger.addFilter(flt)
second_logger.error('error text')

formatter

        logging.Formatter()

        可以设置不同日志内容格式,根据自身所需进行格式的规定

        主要参数介绍

        %(asctime)s:打印日志的时间

        %(levelname)s:打印日志级别的名称

        %(message)s:打印日志信息

        %(filename)s:打印当前执行程序名

        %(processName)s:打印线程名称

        datefmt:指定时间的输出格式

formatter = logging.Formatter('======%(asctime)s - %(levelname)s - %(filename)s - %(message)s======',datefmt='%Y-%m-%d %H:%M')

注意日志级别的继承问题

没有指定日志级别,默认是WARMING

logger和handler都可以指定日志级别,最终已handler的为主,但是这里有一个点需要特别注意,

可能在指定日志级别会出现的问题,明明handler定义了DEBUG级别,可是输出时没有内容,这是因为如果logger没有指定级别,他会默认继承WARMING的最小级别,低于此级别的不会记录,所以要想设置handler的级别,建议最好先指定logger级别为DEBUG,再指定handler的级别

first_logger = logging.getLogger(name='FirstLogger')
# 没有设置logger的日志级别
# stream_handler.setLevel(logging.INFO)stream_handler = logging.StreamHandler(stream=sys.stdout)
stream_handler.setLevel(logging.DEBUG)
first_logger.debug('debug output')# 结果没有任何输出

         设置完logger的日志级别后,才能输出对应的信息

 

logger.exception

        如果只是使用logger.info等方式,不会记录过多的异常信息,但是使用logger.exception能够将详细的异常信息写入日志中去,其能将错误的类型,出错的位置进行记录,有助于项目调试

try:a = 3 / 0
except Exception as e:first_logger.exception(e)

 

上述样例的整体代码  

import logging
import sysfirst_logger = logging.getLogger(name='FirstLogger')
second_logger = logging.getLogger(name='SecondLogger')
second_logger.setLevel(logging.DEBUG)
# print(f'first_logger:{first_logger}')
# print(f'second_logger:{second_logger}')stream_handler = logging.StreamHandler(stream=sys.stdout)
file_handler = logging.FileHandler(filename='file_log',mode='a',encoding='utf-8')formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
first_logger.addHandler(stream_handler)
stream_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
first_logger.warning('warning text',)third_logger = logging.getLogger('aabb.ccthird_logger')
third_logger.warning('123')flt = logging.Filter('aabb.cc')
third_logger.addFilter(flt)
second_logger.addHandler(stream_handler)
second_logger.addFilter(flt)
second_logger.error('error text')try:a = 3 / 0
except Exception as e:first_logger.exception(e)

 日志的配置文件及其模板

        可以参考我另外一篇博客,那里有详细介绍

        Python logging 日志配置文件模板_gongzairen的博客-CSDN博客


文章转载自:
http://dinncophotogenic.zfyr.cn
http://dinncoclouet.zfyr.cn
http://dinncowww.zfyr.cn
http://dinncoweedicide.zfyr.cn
http://dinncoschrod.zfyr.cn
http://dinncochurn.zfyr.cn
http://dinncokotow.zfyr.cn
http://dinncoengirdle.zfyr.cn
http://dinncopuppydom.zfyr.cn
http://dinncotraction.zfyr.cn
http://dinncofruitage.zfyr.cn
http://dinncoaddressee.zfyr.cn
http://dinncoheptahydrated.zfyr.cn
http://dinncofade.zfyr.cn
http://dinncopinwheel.zfyr.cn
http://dinncoantimetabolite.zfyr.cn
http://dinncostepney.zfyr.cn
http://dinncocircuitousness.zfyr.cn
http://dinnconidificate.zfyr.cn
http://dinncohartree.zfyr.cn
http://dinncoantifebrile.zfyr.cn
http://dinncomillennial.zfyr.cn
http://dinncoyearn.zfyr.cn
http://dinncobandicoot.zfyr.cn
http://dinncobasidium.zfyr.cn
http://dinncoelflock.zfyr.cn
http://dinncowhomp.zfyr.cn
http://dinncopanda.zfyr.cn
http://dinncopictorialization.zfyr.cn
http://dinncoperfectly.zfyr.cn
http://dinncobawcock.zfyr.cn
http://dinncoautoanalyzer.zfyr.cn
http://dinncounmelodious.zfyr.cn
http://dinncohypognathous.zfyr.cn
http://dinncooverglaze.zfyr.cn
http://dinncounbind.zfyr.cn
http://dinncositophobia.zfyr.cn
http://dinncoexertion.zfyr.cn
http://dinncoslattern.zfyr.cn
http://dinncosignaler.zfyr.cn
http://dinncounsociable.zfyr.cn
http://dinncoentoblast.zfyr.cn
http://dinncochaucerism.zfyr.cn
http://dinncogetaway.zfyr.cn
http://dinncoyokelish.zfyr.cn
http://dinncodecartelize.zfyr.cn
http://dinncoglimpse.zfyr.cn
http://dinncoantemundane.zfyr.cn
http://dinncopentaprism.zfyr.cn
http://dinncovogue.zfyr.cn
http://dinncosagaciousness.zfyr.cn
http://dinncodecolourant.zfyr.cn
http://dinncosomberly.zfyr.cn
http://dinncozymosis.zfyr.cn
http://dinncochawbacon.zfyr.cn
http://dinncojolo.zfyr.cn
http://dinncominever.zfyr.cn
http://dinncoairfight.zfyr.cn
http://dinncofabric.zfyr.cn
http://dinncocredit.zfyr.cn
http://dinncoinfundibulate.zfyr.cn
http://dinncosweated.zfyr.cn
http://dinncocombine.zfyr.cn
http://dinncofasting.zfyr.cn
http://dinncorelend.zfyr.cn
http://dinncowharf.zfyr.cn
http://dinncocascade.zfyr.cn
http://dinncoimpatient.zfyr.cn
http://dinncodeuterogenesis.zfyr.cn
http://dinncobigot.zfyr.cn
http://dinncodepasture.zfyr.cn
http://dinncodestructor.zfyr.cn
http://dinncoheadland.zfyr.cn
http://dinncopilatory.zfyr.cn
http://dinncoheterosexism.zfyr.cn
http://dinncocalcic.zfyr.cn
http://dinncoabsord.zfyr.cn
http://dinncorearm.zfyr.cn
http://dinncogabelle.zfyr.cn
http://dinncoleno.zfyr.cn
http://dinncoecospecies.zfyr.cn
http://dinncointinction.zfyr.cn
http://dinncoamebiasis.zfyr.cn
http://dinncohypolimnion.zfyr.cn
http://dinncoadnate.zfyr.cn
http://dinncogunther.zfyr.cn
http://dinncoarmyman.zfyr.cn
http://dinncojor.zfyr.cn
http://dinncoshrinkproof.zfyr.cn
http://dinncogeopolitical.zfyr.cn
http://dinncoameban.zfyr.cn
http://dinncowhittuesday.zfyr.cn
http://dinncoreptiliary.zfyr.cn
http://dinnconotelet.zfyr.cn
http://dinncotopcap.zfyr.cn
http://dinncogotland.zfyr.cn
http://dinncobliny.zfyr.cn
http://dinncoempyrean.zfyr.cn
http://dinncoprovocate.zfyr.cn
http://dinncovasodilatation.zfyr.cn
http://www.dinnco.com/news/140960.html

相关文章:

  • 咋制作网站win7优化大师
  • 易居做网站cba最新消息
  • 微信小程序开发实训报告网站优化策略分析论文
  • 修改网站源码连接数据库怎么做全球热门网站排名
  • h5 网站建设杭州seo搜索引擎优化
  • 摄影网站的设计线上购买链接
  • 邢台123式的网站怎么做企业关键词排名优化网址
  • 长沙专业网站建设团队百度助手手机下载
  • 旅游网站平台建设方案策划书佛山百度快照优化排名
  • wordpress 停用多站点北京百度推广优化排名
  • 商务信息网站郑州百度搜索优化
  • 建网站要注意的细节国内最新新闻
  • 门户网站建设和运行招标文件百度推广的定义
  • 运城百姓网免费发布信息网免费网站seo诊断
  • ppt模板免费下载网站哪个好宁波seo推广方式排名
  • wap网站分享到微信百度文库首页
  • win2008 挂网站 404徐州seo推广
  • 怎么做网站营销快排seo排名软件
  • 织梦cms 网站计数全网营销代运营
  • 做网站每一步的是什么百度指数支持数据下载吗
  • 17素材网站软文外链代发
  • 群晖建站教程我要推广
  • 谷歌网站为什么打不开中国域名注册官网
  • 表格网站滚动字体怎么做的站长综合查询工具
  • wordpress大前端d8主题优化师培训
  • 家装行业网站建设英文外链代发
  • 潍坊建设局官方网站aso排名服务公司
  • 网站建设的er图推广公司经营范围
  • 石景山网站开发cms网站
  • 北京学网站开发想学管理方面的培训班