1.print只简单输出,logging 支持:分级、文件保存、时间、模块名、线上关闭调试日志、多模块统一日志。
2.五大日志级别(从低到高)
python
运行
logging.debug("调试信息,开发用")
logging.info("正常运行信息")
logging.warning("警告,程序还能跑")
logging.error("错误,功能失败")
logging.critical("严重错误,程序可能崩溃")
3.快速基础配置 basicConfig
import logging
import sys
logging.basicConfig(
level = logging.DEBUG,
format='%(lineno)d --%(module)s --%(pathname)s--%(name)s--%(levelno)s--%(levelname)s--%(message)s',
handlers=[
logging.StreamHandler(sys.stdout),
logging.FileHandler('log')
]
)
4.日志输出到文件 + 控制台
# 创建日志处理实例
logger = logging.getLogger(__name__)
# 设置级别
logger.setLevel(logging.DEBUG)
# 创建处理器
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
# 设置处理器对应的格式
stream_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
stream_handler.setFormatter(stream_formatter)
# 将处理器添加给实例
logger.addHandler(stream_handler)
# 创建文件处理器
file_handler = logging.FileHandler('log.txt')
file_handler.setLevel(logging.INFO)
# 设置处理器对应的格式
file_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(stream_formatter)
# 将处理器添加给实例
logger.addHandler(file_handler)
logger.debug("debug111")
logger.info("info111")
logger.warning("warning111")
logger.error("error111")
logger.critical("critical111")