xprintlog:给print函数加点料

简介: xprintlog:给print函数加点料

在进行开发的时候,为了调试代码,往往会在函数内部编写很多print函数,这些函数在调试的时候很有用,但是在调试完成以后,print函数的输出显得十分凌乱。这里推荐一款可以将函数内部的print函数重定向到日志的包xprintlog

安装

pip install xprintlog

使用方法

  1. 直接使用装饰器进行装饰

这里以test为例,使用xprint函数进行装饰,test函数内部的print函数被重定向到xprint内部的日志中去,可以显示print函数的调用位置和调用函数。

# test.py
import xprintlog as xprint
@xprint.xprint()
def test():
    print(111)
test()
#[.\test.py:6 - test][DEBUG] - 111
  1. 使用类似于logging的方式,进行等级设置
  • print_levelprint函数重定向到logging的那个函数中去处理
  • level设置是否打印日志的登记条件
import xprintlog as xprint
@xprint.xprint(
    print_level=xprint.INFO,
    level=xprint.DEBUG
)
def test():
    print(111)
test()
# [.\test.py:7 - test][INFO] - 111
@xprint.xprint(
    print_level=xprint.DEBUG,
    level=xprint.INFO
)
def test1():
    print(111)
test1()
# 这里没有输出
  1. 支持函数嵌套,且函数间互不影响
import xprintlog as xprint
@xprint.xprint(
    print_level=xprint.INFO,
    level=xprint.DEBUG
)
def test():
    print(111)
@xprint.xprint(
    print_level=xprint.DEBUG,
    level=xprint.INFO
)
def test1():
    print(111)
    test()
test1()
# [.\test.py:7 - test][INFO] - 111
相关文章
|
3月前
|
ice Python
答应我以后不要再用print打印了,冰淇淋来了!
答应我以后不要再用print打印了,冰淇淋来了!
57 1
|
6月前
|
机器学习/深度学习
PTA-打印九九口诀表
该程序生成1到N的下三角九九乘法表。输入一个1到9的正整数N,输出1*1到N*N的乘法表达式,等号右侧数字左对齐且占4位。示例输入4,输出1*1=1至4*4=16的口诀表。代码通过输入n值,使用两层循环结构实现乘法规则的打印。
99 0
|
消息中间件 前端开发 NoSQL
蔚来手撕代码题:三个线程循环打印ABC
蔚来手撕代码题:三个线程循环打印ABC
109 3
蔚来手撕代码题:三个线程循环打印ABC
|
Python Windows
用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种
古有 div画条, console画龙。 今有我 Python print 画 战龙, 一条目光凶猛,霸气红色,爱运动,能战斗的霸王龙。 上面的都是产品说的,我是研发, 所以,大家懂的,从产品到设计, 从设计到实现, 每一步都是有差距的。
1823 0
用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种
|
存储 Java
无聊小知识.04 以下代码会输出什么?
今天同事给我看了一段代码,然后这段简单的代码,我却陷入了沉思。
无聊小知识.04 以下代码会输出什么?
|
Python
更好的print :嫌弃print太单调 那么来试试这几种方法吧
更好的print :嫌弃print太单调 那么来试试这几种方法吧
更好的print :嫌弃print太单调 那么来试试这几种方法吧
|
Java 程序员 Linux
Python仅用3行代码就能输出花式字符串图集,同事直呼666!
相信Java程序员看到上面的图,一定不会陌生。没错,springboot的启动日志。不知道其他人怎么想,我第一次看到这个启动日志的时候,就觉得好炫酷。然而,大家在日常的Python开发中,日志打印的却枯燥无比。今天就来教大家打印出让同事羡慕,却让领导崩溃的代码输出。
415 0
|
存储 算法 Java
【算法攻坚】"Z"字形打印输出
【算法攻坚】"Z"字形打印输出
466 0
|
前端开发 Java