Python打印详细报错日志logging

方式1:
logging模块可以实现Python程序的错误日志功能。通过使用baseConfig()函数就可以对logging进行一个日志配置。包括输出的格式和错误等级,记录的文件目录

# 日志模块
import logging
import traceback

# 引入日志
logging.basicConfig(filename='log_record.txt',
    level=logging.DEBUG, filemode='w', format='[%(asctime)s] [%(levelname)s] >>>  %(message)s',
                    datefmt='%Y-%m-%d %I:%M:%S')

try:
	print(a+1)   # 放主要代码
except Exception as e:
    logging.error("Main program error:")
    logging.error(e)
    logging.error(traceback.format_exc())

方式2:
在程序中完成logger,handler,filter,formater的实例化 被配置好logging,然后再使用logging取得logger进行日志操作

import logging

# logging模块由logger,handler,filter,fomatter四个部分组成

# 获取一个logger对象
logger = logging.getLogger("haha")
# 设置日志输出等级
logger.setLevel(logging.DEBUG)
# 创建一个文件的handler
f_handler = logging.FileHandler("xxx.log")
f_handler.setLevel(logging.INFO)
# 创建一个控制台的handler
c_handler = logging.StreamHandler()
c_handler.setLevel(logging.WARNING)
# 设置日志的输出格式
fmt = logging.Formatter("%(asctime)s-%(name)s-%(levelname)s-%(message)s")
# 给handler绑定一个fomatter类
f_handler.setFormatter(fmt)
c_handler.setFormatter(fmt)
# 绑定一个handler
logger.addHandler(f_handler)
logger.addHandler(c_handler)

# 使用logger输出日志信息
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critiacl")

猜你喜欢

转载自blog.csdn.net/weixin_44976611/article/details/129215086