日志一共分成5个等级,从低到高分别是:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
说明:
- DEBUG:详细的信息,通常只出现在诊断问题上
- INFO:确认一切按预期运行
- WARNING:一个迹象表明,一些意想不到事情发生了或表明一些问题在不久将来列如(磁盘空间低),这个软件还能按预期工作
- ERROR:更严重的问题,软件没能执行一些功能
- CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
这5个等级,也分别对应5种打日志的方法:debug,info,warning,error,critical,默认的是warning,当在warning或之上时才被跟踪。
2、日志输出
有两种方式记录跟踪 ,一种输出控制台,另一种是记录到文件中,如日志文件。
2.1、将日志输出到控制台
比如:log1.py如下:
__author__ = 'Administrator'
import logging
"""
将日志信息向终端打印信息
"""
logging.basicConfig(level=logging.WARNING,format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
logging.debug("这是 logging debug message")
logging.info("这是 logging info message")
logging.warning("这是 logging warning messgae")
logging.error("这是 logging error messgae")
logging.critical("这是 logging critical message")
比如:log2.py如下:
__author__ = 'Administrator'
import logging
"""
将日志信息输出到文件
"""
logging.basicConfig(level=logging.WARNING,
filename ="./log.txt",
filemode="w",
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
logging.debug("这是 logging debug message")
logging.info("这是 logging info message")
logging.warning("这是 logging warning messgae")
logging.error("这是 logging error messgae")
logging.critical("这是 logging critical message")
比如log.py
__author__ = 'Administrator'
import logging
"""
将日志信息即可是输出到终端也可以输出到文件
"""
# 第一步 创建一个日志器logger并设置其日志级别为INFO
logger = logging.getLogger("rxz")
logger.setLevel(logging.INFO) #log等级总开关
#第二步 创建一个 handler ,用于写入日志文件
logfile = "./log.txt"
fh = logging.FileHandler(logfile,mode="a",encoding='utf-8') #用open的打开模式这里可以进行参考
fh.setLevel(logging.DEBUG) #输出到file的Log等级的开关
#第三步,在创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING) #输出到console的Log等级的开关
#第四步,定义handler输出格式
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
fh.setFormatter(formatter)
ch.setFormatter(formatter)
#第五步,将logger添加到handler里面
logger.addHandler(fh)
logger.addHandler(ch)