python-logging模块


为什么会用logging模块
  • 灵活性好,方便配置
  • 输出或保存不同级别日志
logging模块结构

logging 在源码中有三个文件,结构如下:

├── config.py
├── handlers.py
└── __init__.py
  • __int__.py中实现了基础功能,主要的逻辑就在这个文件中
  • handlers.py是一些Handlers用起来很方便的.
  • config.py是对配置做处理的方法.
基础
import logging


# 1.初始化   相当于
logger = logging.getLogger("test_name")


# 2.设置级别
logger.setLevel(logging.DEBUG)  # 低于这个级别就不去管他


# 3. 定义handler:
# 在控制台输出  FileHandler
sh = logging.StreamHandler()   # 定义控制台输出 
sh.setLevel(logging.ERROR)   # 设置最低级别 达到什么级别的时候管 低于..不执行  

# 写在文件里面 SteamHandler
fh = logging.FileHandler(r'file_test.log')
fh.setLevel(logging.DEBUG)  # 达到什么级别就写到文件里面去


# 4. 格式化输出   formatter     注意之间逗号不需要加,只是为了美观
formatter = logging.Formatter(
   '时间:%(asctime)s,'
   '日志级别:%(levelname)s,'
   '日志信息:%(message)s,'
   )
sh.setFormatter(formatter)  # 设置控制台的样式
fh.setFormatter(formatter)  # 设置文件的样式


# 添加进去
logger.addHandler(sh)
logger.addHandler(fh)




if __name__ == '__main__':
   logger.debug('测试中')
   logger.info('正常运行')
   logger.warn('警告')
   logger.error('完了error')
   logger.critical('炸了')

   # 例如:
   def func(a):
      try:
         num = 40/a
         logger.info(num)   # 正常的话记录
      except Exception as e:
         logger.error(e)   # 将错误记录

   func(0)




##  logging 中的级别
"""
DEBUG:调试信息,通常在诊断问题的时候用得着;
INFO:普通信息,确认程序安装预期运行;
WARNING:警告信息,表示发生了意想不到的事情,或者指示接下来可能会出现一些问题,但是程序还是继续运行;
ERROR:错误信息,程序运行中出现了一些问题,一些功能没有执行;
CRITICAL:危险信息,一个严重的错误,导致程序无法继续运行。

# 对应下面5个方法
debug
info
Warning
error  
critical 
"""


logging常用的格式化:


文章作者: 剑胆琴心
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 剑胆琴心 !
评论
 上一篇
python-常用库 python-常用库
转载自:https://www.jianshu.com/p/d25a9169fe86 哈哈哈,我见大佬把这么多库都整理出来了,赶紧转载一下,太厉害啦。 库名称 简介 Chardet 字符编码探测器,可以自动检测文本、网页、
2020-02-19
下一篇 
python-PyQuery python-PyQuery
Python爬虫解析库,主流的有 PyQuery Beautifulsoup Scrapy Selectors 正则表达式。 PyQuery和scrapy Selectors都是基于lxml模块,而lxml和正则表达式都是C语言写的,只
2020-02-19
  目录