Appearance
logging模块
日志一般有5个等级
DEBUG->INFO->WARING->ERROR->CRITICAL
- DEBUG: 调试信息
- INFO: 正常运行的时候的信息
- WRING: 一个意想不到的事情发生了, 但是这一个软件还可以运行
- ERROR: 严重的问题, 软件不能执行某一些功能
- CRITICAL: 严重的错误, 程序可能不能运行了
默认的时候EARING以上的信息可以被执行
实际使用
python
import logging
# 基础配资
logging.basicConfig(level=logging.WARNING, format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s:%(message)s")
logging.debug('这是个一debug')
logging.info("这是一个info")
logging.warning("这是一个warning")
logging.error("这是一个error")
logging.critical("这是一个critical")
bashPS E:\JHY\python\2024-4-22> python -u "e:\JHY\python\2024-4-22\main.py" 2024-05-05 22:53:25,195 - main.py[line:7] - WARNING:这是一个warning 2024-05-05 22:53:25,195 - main.py[line:8] - ERROR:这是一个error 2024-05-05 22:53:25,195 - main.py[line:9] - CRITICAL:这是一个critical
这个basicConfig
同时到文件和终端
python
import logging
# 获取一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # 这一个总开关, 这一个输出的最高级别
# 创建一个文件Handler
logfile = 'log.txt'
fh = logging.FileHandler(logfile, mode='a')
fh.setLevel(logging.WARNING)
# 创建一个终端Handler
ch = logging.StreamHandler()
ch.setLevel(logging.INFO) # 这里使用的级别大于总开关的时候不起作用
# 获取一个格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 设置不同Handler的输出格式
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 把输出添加到logger
logger.addHandler(fh)
logger.addHandler(ch)
# 实际的信息打印
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')