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

本地网站建设电话广州建筑信息平台

本地网站建设电话,广州建筑信息平台,动漫制作公司排名,山东省建设监理协会网站目录 logging模块 logging核心组件 logger handler StreamHandler#xff1a;把日志内容在控制台中输出 FileHandler#xff1a;把日志内容写入到文件中 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(nameFirstLogger) second_logger logging.getLogger(nameSecondLogger) second_logger.setLevel(logging.DEBUG) print(ffirst_logger:{first_logger}) print(fsecond_logger:{second_logger}) handler 两个经常使用的handler StreamHandler把日志内容在控制台中输出 参数为None也可选 sys.stderr、 sys.stdout stdout,stderr的中文名字分别是标准输入标准输出和标准错误 stream_handler logging.StreamHandler(streamNone)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(filenamefile_log,modea,encodingutf-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(nameFirstLogger) # 没有设置logger的日志级别 # stream_handler.setLevel(logging.INFO)stream_handler logging.StreamHandler(streamsys.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(nameFirstLogger) second_logger logging.getLogger(nameSecondLogger) second_logger.setLevel(logging.DEBUG) # print(ffirst_logger:{first_logger}) # print(fsecond_logger:{second_logger})stream_handler logging.StreamHandler(streamsys.stdout) file_handler logging.FileHandler(filenamefile_log,modea,encodingutf-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://www.w-s-a.com/news/891234/

相关文章:

  • 网站与微信区别wordpress 站内信
  • 宁夏网站开发设计说明书源码下载脚本之家
  • 邱县做网站百度搜索排名机制
  • 运城个人网站建设智慧团建系统官方网站登录
  • 公司营业执照可以做几个网站一家专门做母婴的网站
  • 网站建设商标属于哪个类别搜狗seo快速排名公司
  • 织梦做商城网站企业网络建站
  • 网站后期维护都有什么wordpress首页加图片
  • 展会网站怎么做网页设计与制作教程版徐洪亮课后答案
  • 石景山网站建设设计公司建设网站怎么建立服务器
  • 本地生活服务平台app网站关键词优化原理
  • 建网站的公司叫什么重庆论坛建站模板
  • 湖北网站制作公司银川网站建设哪家不错
  • 网站后台演示地址服装网站建设公司推荐
  • 湖北钟祥建设局网站旅游哪个网站最好
  • 浙江建设工程信息网站辽宁建设工程信息网场内业绩什么意思
  • 郑州做网站公司 汉狮网络专业图片搜集网站怎么做
  • 网站托管是什么品牌推广营销平台
  • 制作网站的难度贵州省兴义市建设局网站
  • 永春建设局网站室内设计师培训班学费多少
  • 做仿站如何获取网站源码windows2012做网站
  • 网站建设最好的公司东莞外贸网站
  • 普兰店网站建设一般做网站什么价格
  • 网站建设的发展目标甘肃网站设计公司
  • 常州西站建设规划室内装修设计学校哪里好
  • 大连网站制作选择ls15227如何编辑网站
  • 网站发稿平台迪士尼网站是谁做的
  • 常州有哪些好的网站建设案例wordpress 360 插件
  • 模板网站有后台么柳城网站建设
  • 地方门户网站制作一级做c爱片的网站