python标准模块----logging
admin
2024-03-22 20:16:03

Debug方式

  1. 通过print,逐行打印,找到问题;(还得逐行删除,麻烦)
  2. 通过logging模块,logging.debug(“xxx”)
  3. 设置断点,pycharm-debug
     

logging的参数

  1. 日志级别
    debug < info < warning < error < critical

debug, 调试时用
info, 输出普通的信息(程序按照预期执行)
warning, 警告信息
error, 程序出现的一些错误
critical,程序无法执行的错误。
设置级别为info时,只会输出info及更高的级别的信息。

  1. 格式化参数
    %(asctime)s,格式化时间
    %(message)s,日志信息
    %(levelname)s,日志级别
    %(name)s,日志器名称
    %(pathname)s 输出日志的文件的绝对路径
    %(filename)s 输出日志的文件名
    %(lineno)s 输出日志的行号(在第几行)
    %(funcName)s 调用日志记录函数的函数名

logging 的基本使用

  1. 输出日志到控制台
import logging
logging.basicConfig(level=logging.INFO, 
format="%(asctime)s-%(levelname)s-%(message)s-%(name)s-%(filename)s-%(pathname)s-%(funcName)s-%(lineno)s")
# 输出信息到控制台
logging.info("测试logging...")# 在debug时,设置为debug级别,以下信息全部输出
logging.debug("这里是正常执行的...")
logging.info("测试logging...")
logging.warning("警告信息...")
logging.error("错误信息...")
logging.critical("严重错误...")

 
2. 输出日志到文件中

# 配置只能写一行,多行则第一行生效
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(message)s", filename="./test.log", filemode="a")# 追加到文件中
logging.info("输出日志到文件中")

 

logging的定制使用

步骤:

  1. 实例化一个日志记录器(Logger对象)
  2. 实例化一个日志处理器(Handler对象)
  3. 处理器添加日志级别&格式
  4. 日志记录器,添加日志处理器

案例:

# 实例化日志记录器
myLogger = logging.Logger("laufing") # give a name
# myLogger2 = logging.getLogger(__name__)# 实例化日志处理器
handler = logging.FileHandler("test.log", mode="a", encoding="gbk") # output to test.log   windows use gbk
# handler2 = logging.StreamHandler()  # output to console# 日志处理器 添加 级别、格式
handler.setLevel(logging.INFO)
handler.setFormatter(logging.Formatter("%(asctime)s %(message)s"))# 日志记录器  添加处理器
myLogger.addHandler(handler)# 输出信息
myLogger.info("自定义日志记录器...")

一个日志记录器还可以添加多个日志处理器

相关内容

热门资讯

17道 特色旺销菜 恰恰茄子 原料: 糯长茄200克,香菜3克。 调料: 秘制茄子酱40克。 制作: 1.将长茄去皮后...
西藏攻略:7天6晚经典路线,带... 每年5月至10月,是西藏的季节,也是游客最多的时段。最近我们收到很多朋友的咨询:“次来西藏,只有7天...