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

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

相关内容

热门资讯

山海邂逅悦来玥美!青岛银丰玥美... 时光淬炼初心,山海见证成长。三百余日夜匠心耕耘,青岛银丰玥美酒店与崂山为伴,与黄海为邻,融青岛山海风...
摸鱼、钓虾、吃瓜、赏荷…初夏时... 这个周末,一场场充满野趣的“田园嘉年华”在沪郊金山多个农场上演,吸引众多市民带着孩子下乡来,赛跑、吃...
原创 戚... 5月28日,北京环球影城迎来了一对温暖的家庭画面:戚薇和李承铉携三岁半的儿子Seven现身游玩。现场...
滹沱河畔 遇见“诗和远方” 图为市民在滹沱河畔休闲娱乐。 初夏五月,惠风和畅。徜徉在石家庄滹沱河生态区(城区段),澄澈河水蜿蜒...
在迪士尼排队两小时,我才看清V... 文丨沈理 在网上看到一则新闻: 上海迪士尼,创极速光轮排队区。一个父亲牵着七八岁的儿子,已经在烈日...