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("自定义日志记录器...")

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

相关内容

热门资讯

清明:高温、暴雨!这碗广东经典... 4月5日,清明 清明既是二十四节气之一 也是我国重要的传统节日 有扫墓祭祖、踏青出游等传统习俗 清明...
原创 养... 李阿姨今年63岁,平时血压略高,血脂偏高,却一直觉得没什么大问题。 在一次常规体检中,医生经颈动脉...
一口青团,一口春天 清明前后艾草最肥嫩,古人寒食禁火,冷食为先,便有了这青团。踏着露水走进山里,指尖掐下嫩尖,一声脆响,...