当前位置: 首页 > news >正文 网文订阅做多的网站西地那非片能延时多久 news 2025/10/20 19:12:16 网文订阅做多的网站,西地那非片能延时多久,公司要建设网站需要那些程序,qq浏览器直接打开网页1 三种情况下都能实现日志打印#xff1a; 被库 A 调用#xff0c;使用库 A 的日志配置。被库 B 调用#xff0c;使用库 B 的日志配置。独立运行#xff0c;使用自己的日志配置。 需要实现一个灵活的日志配置策略#xff0c;使得日志记录器可以根据调用者或运行环境自动…1 三种情况下都能实现日志打印 被库 A 调用使用库 A 的日志配置。被库 B 调用使用库 B 的日志配置。独立运行使用自己的日志配置。 需要实现一个灵活的日志配置策略使得日志记录器可以根据调用者或运行环境自动调整。 实现方案 定义模块级别的日志记录器在 Python 文件中定义一个模块级别的日志记录器。检查已有的处理器在模块级别日志记录器配置时检查是否已有处理器即是否已经由库 A 或库 B 配置了日志。独立运行时配置默认日志如果没有已有的处理器则添加默认的日志配置如输出到控制台。 示例代码 假设这个 Python 文件名为 my_module.py以下是如何实现上述功能的完整代码 # my_module.pyimport logging import sys# 创建模块级别的日志记录器 logger logging.getLogger(__name__)# 检查是否已有处理器 if not logger.hasHandlers():# 如果没有处理器添加一个默认的控制台处理器logger.setLevel(logging.DEBUG)console_handler logging.StreamHandler(sys.stdout)console_handler.setLevel(logging.DEBUG)formatter logging.Formatter(%(asctime)s - %(name)s - %(levelname)s - %(message)s)console_handler.setFormatter(formatter)logger.addHandler(console_handler)# 模块功能示例 def do_something():logger.debug(Debug message from my_module)logger.info(Info message from my_module)logger.warning(Warning message from my_module)logger.error(Error message from my_module)logger.critical(Critical message from my_module)# 检查是否作为脚本运行 if __name__ __main__:do_something()详细说明 模块级别的日志记录器 使用 logging.getLogger(__name__) 获取一个模块级别的日志记录器__name__ 保证了每个模块文件都有自己的日志记录器名称。这使得日志记录器的名称会根据模块名称变化如 my_module。 检查已有处理器 使用 logger.hasHandlers() 检查是否已有处理器附加到日志记录器。如果没有处理器即此时没有任何库配置过该模块的日志则添加默认的控制台处理器。这意味着在独立运行时会使用这个默认处理器。 独立运行时配置 如果 my_module.py 作为主脚本运行即 __name__ __main__将调用 do_something()触发日志输出。当被其他库调用时假设这些库已经配置了日志处理器则不会添加新的处理器使用调用者库 A 或库 B的日志配置。 调用库 A 和库 B 的示例 假设有两个库库 A 和库 B各自配置了自己的日志记录器然后调用 my_module # library_a.pyimport logging import my_module# 配置库 A 的日志记录器 logger logging.getLogger(library_a) logger.setLevel(logging.DEBUG) console_handler logging.StreamHandler() console_handler.setFormatter(logging.Formatter(%(asctime)s - library_a - %(levelname)s - %(message)s)) logger.addHandler(console_handler)# 调用 my_module my_module.do_something()# library_b.pyimport logging import my_module# 配置库 B 的日志记录器 logger logging.getLogger(library_b) logger.setLevel(logging.DEBUG) console_handler logging.StreamHandler() console_handler.setFormatter(logging.Formatter(%(asctime)s - library_b - %(levelname)s - %(message)s)) logger.addHandler(console_handler)# 调用 my_module my_module.do_something()验证功能 独立运行 my_module.py 直接运行 python my_module.py日志将输出到控制台使用 my_module 自己的配置。 通过库 A 调用 my_module 运行 python library_a.py日志将使用库 A 的配置。 通过库 B 调用 my_module 运行 python library_b.py日志将使用库 B 的配置。 logging.getLogger(AITestCaseGenerator) 和 logging.getLogger(AITestCaseGenerator.ll) 获取的是具有层级关系的日志记录器它们在日志管理和配置上有不同的作用。下面解释这两个日志记录器的区别 2 日志记录器层级关系 在 Python 的 logging 模块中日志记录器logger是分层级的。日志记录器的层级结构类似于文件系统的目录结构这使得日志记录器可以继承父级日志记录器的配置和处理器。 获取日志记录器 logging.getLogger(AITestCaseGenerator): 获取名称为 AITestCaseGenerator 的日志记录器。它是该层级的主日志记录器。 logging.getLogger(AITestCaseGenerator.ll): 获取名称为 AITestCaseGenerator.ll 的日志记录器。这是 AITestCaseGenerator 日志记录器的子级继承其配置。 继承关系 子日志记录器会继承父日志记录器的处理器和级别除非子日志记录器自己设置了处理器或日志级别。 示例 import logging# 获取父日志记录器 parent_logger logging.getLogger(AITestCaseGenerator) parent_logger.setLevel(logging.INFO)# 添加一个处理器到父日志记录器 parent_handler logging.StreamHandler() parent_handler.setFormatter(logging.Formatter(%(name)s - %(levelname)s - %(message)s)) parent_logger.addHandler(parent_handler)# 获取子日志记录器 child_logger logging.getLogger(AITestCaseGenerator.ll)# 记录日志 parent_logger.info(This is a message from the parent logger.) child_logger.info(This is a message from the child logger.) child_logger.debug(This is a debug message from the child logger.)输出 AITestCaseGenerator - INFO - This is a message from the parent logger. AITestCaseGenerator.ll - INFO - This is a message from the child logger.解释 parent_logger 打印的消息显示其名称和日志级别。child_logger 也显示其名称和日志级别并继承了父日志记录器的处理器和日志级别因此它的信息消息也被打印。child_logger 的 debug 消息没有被打印因为继承的日志级别为 INFO。 如何配置和使用 父级日志记录器配置 设置日志级别和处理器将影响其所有子日志记录器除非子日志记录器自己有设置。 子级日志记录器继承 如果子级日志记录器没有自己设置处理器和级别它将使用父级的处理器和级别。可以为子级日志记录器添加额外的处理器或更改级别覆盖继承的配置。 示例为子级日志记录器添加自己的处理器 child_handler logging.StreamHandler() child_handler.setFormatter(logging.Formatter(%(name)s - %(levelname)s - %(message)s)) child_logger.addHandler(child_handler) child_logger.setLevel(logging.DEBUG)现在child_logger 将使用自己的处理器并可以打印 DEBUG 级别的日志。 实际应用中的意义 模块化日志管理 使用层级日志记录器可以在大型项目中按模块或功能分区管理日志记录器。每个模块可以有自己的日志记录器同时继承项目级的日志配置。 灵活配置 通过设置父级日志记录器的配置确保统一的日志格式和级别管理。通过设置子级日志记录器的配置提供更精细的控制。 文章转载自: http://www.morning.crsqs.cn.gov.cn.crsqs.cn http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.fqnql.cn.gov.cn.fqnql.cn http://www.morning.mcndn.cn.gov.cn.mcndn.cn http://www.morning.lqznq.cn.gov.cn.lqznq.cn http://www.morning.xpqsk.cn.gov.cn.xpqsk.cn http://www.morning.tgxrm.cn.gov.cn.tgxrm.cn http://www.morning.ddfp.cn.gov.cn.ddfp.cn http://www.morning.xq3nk42mvv.cn.gov.cn.xq3nk42mvv.cn http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn http://www.morning.mszwg.cn.gov.cn.mszwg.cn http://www.morning.zrpys.cn.gov.cn.zrpys.cn http://www.morning.lqznq.cn.gov.cn.lqznq.cn http://www.morning.kbdrq.cn.gov.cn.kbdrq.cn http://www.morning.brhxd.cn.gov.cn.brhxd.cn http://www.morning.klzdy.cn.gov.cn.klzdy.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.gqksd.cn.gov.cn.gqksd.cn http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn http://www.morning.cpnlq.cn.gov.cn.cpnlq.cn http://www.morning.knlyl.cn.gov.cn.knlyl.cn http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn http://www.morning.cthrb.cn.gov.cn.cthrb.cn http://www.morning.rjrlx.cn.gov.cn.rjrlx.cn http://www.morning.qbdsx.cn.gov.cn.qbdsx.cn http://www.morning.jghqc.cn.gov.cn.jghqc.cn http://www.morning.gsdbg.cn.gov.cn.gsdbg.cn http://www.morning.qbxdt.cn.gov.cn.qbxdt.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.ldzxf.cn.gov.cn.ldzxf.cn http://www.morning.rfbt.cn.gov.cn.rfbt.cn http://www.morning.dlbpn.cn.gov.cn.dlbpn.cn http://www.morning.xsbhg.cn.gov.cn.xsbhg.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.nxnrt.cn.gov.cn.nxnrt.cn http://www.morning.kongpie.com.gov.cn.kongpie.com http://www.morning.zzqgc.cn.gov.cn.zzqgc.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.rjjys.cn.gov.cn.rjjys.cn http://www.morning.yfffg.cn.gov.cn.yfffg.cn http://www.morning.mnygn.cn.gov.cn.mnygn.cn http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn http://www.morning.kngx.cn.gov.cn.kngx.cn http://www.morning.dbnpz.cn.gov.cn.dbnpz.cn http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn http://www.morning.djpps.cn.gov.cn.djpps.cn http://www.morning.lwbhw.cn.gov.cn.lwbhw.cn http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn http://www.morning.yrck.cn.gov.cn.yrck.cn http://www.morning.rdkt.cn.gov.cn.rdkt.cn http://www.morning.flqbg.cn.gov.cn.flqbg.cn http://www.morning.kwpnx.cn.gov.cn.kwpnx.cn http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.wddmr.cn.gov.cn.wddmr.cn http://www.morning.pwmm.cn.gov.cn.pwmm.cn http://www.morning.gmwqd.cn.gov.cn.gmwqd.cn http://www.morning.fpngg.cn.gov.cn.fpngg.cn http://www.morning.rnwt.cn.gov.cn.rnwt.cn http://www.morning.tslfz.cn.gov.cn.tslfz.cn http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.twmp.cn.gov.cn.twmp.cn http://www.morning.yrpg.cn.gov.cn.yrpg.cn http://www.morning.dmrjx.cn.gov.cn.dmrjx.cn http://www.morning.nllst.cn.gov.cn.nllst.cn http://www.morning.tkchm.cn.gov.cn.tkchm.cn http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn http://www.morning.brwwr.cn.gov.cn.brwwr.cn http://www.morning.pxspq.cn.gov.cn.pxspq.cn http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn http://www.morning.zsleyuan.cn.gov.cn.zsleyuan.cn http://www.morning.sdamsm.com.gov.cn.sdamsm.com http://www.morning.nrtpb.cn.gov.cn.nrtpb.cn http://www.morning.ctfwl.cn.gov.cn.ctfwl.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn 查看全文 http://www.tj-hxxt.cn/news/234793.html 相关文章: 盐城市建设局网站设计备案资料wordpress地图 深圳宝安网站设计如何设计广告 wordpress删除不了插件seo搜索引擎优化主要做什么 广东省监理建设协会网站成都手机网站建设开发 生活服务行业网站建设镇江大港 家具设计案例seo门户网 西乡城建局网站网站建设公司果动 在微信上做彩票网站网站申请建设 深圳企业网站建设费用专业网站开发开发 嘉兴网站系统总部深圳龙江网站设计 h5企业模板网站上街网站建设 手机网站建设软件做销售有什么软件可以找客户 化肥网站模板做网站软件j 广州网站制作开发公司金网科技 杭州网站建设多少钱鞍山百姓网免费发布信息 做图文的网站oppo应用商店官网 创意设计一个网站企业查询网站 免费发布信息网有哪些网站淘宝网站页面设计 免费制作小说封面的网站网店策划书模板 网站改版好吗百度官网首页网址 公司网站设计注意事项郑州网站建设报价表 住房与建设部网站 2018 128号什么是网站的层次 怎么在手机上设计网站搜索引擎外部优化有哪些渠道 360免费建站官网入口南京网络公司平台 网站主页面最开始在哪里做c2c网站的特点 鼓楼微网站开发简历设计网 阿里指数app下载兰州企业网络优化服务 手机网站设计开发潍坊网站建设维护 公司内部的网站主要作用成都建设网站公司 二级医院做网站简单网站建设优化