logging模块的四大组件及其使用,如何自定义日志

用处:

1.调试程序,定位问题

2.数据分析

3.用户信息跟踪

二、logging模块的四大组件:

1.logger(日志器):给所有的应用程序提供入口

2.handle(处理器):决定在不同端实现输出

3.formatter(格式器):决定日志内容(日志包含时间,行号,信息描述,信息级别,信息等)

4.filter(过滤器):对信息进行筛选,保留感兴趣的信息

三、四大组件之间的关系:

一个日志器可以有多个处理器,一个处理器可以有格子的格式器和过滤器

四、日志输出端:

日志文件或输出台

五、输出日志级别按照日志输出还是处理器输出级别控制

  输出日志级别有日志输出级别和处理器输出级别控制,输出日志级别先按照日志器级别,再按照处理器级别实现输出

六、代码实现

import logging
logger = logging.getLogger("my_log")
# 1.输出到控制台
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
format1 = logging.Formatter(fmt="%(asctime)s - %(filename)s - %(lineno)d - %(message)s", datefmt="%Y/%m/%d %H:%M:%S")
handler.setFormatter(format1)
logger.addHandler(handler)
logger.debug("debug!!")
logger.info("info!!")
logger.warning("warning!!")
logger.error("error!!")
logger.critical("critical!!")

# 移除处理器handler
logger.removeHandler(handler)

# 2.输出到日志文件中
handle2 = logging.FileHandler("logs.log")
handle2.setLevel(logging.WARN)
format2 = logging.Formatter(fmt="%(asctime)s - %(filename)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
handle2.setFormatter(format2)
logger.addHandler(handle2)
logger.debug("my_debug!!")
logger.info("my_info!!")
logger.warning("my_warning!!")
logger.error("my_error!!")
logger.critical("my_critical!!")

注意:添加处理器:logger.addHandler("xxx")

   移除处理器:logger.removeHandler("xxx")

自定义日志的基本用法就是这样,希望对你有所帮助,也希望多多关注,多多支持,您的关注与支持是我更新下去的动力:)

posted @ 2022-05-10 08:27  河海星辰  阅读(133)  评论(0编辑  收藏  举报