zoukankan      html  css  js  c++  java
  • python项目中输出指定颜色的日志

    起因

          在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。

    解决

          我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用33完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33)。

          书写格式,和相关说明如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    格式:33[显示方式;前景色;背景色m
     
    说明:
    前景色            背景色           颜色
    ---------------------------------------
    30                40              黑色
    31                41              红色
    32                42              绿色
    33                43              黃色
    34                44              蓝色
    35                45              紫红色
    36                46              青蓝色
    37                47              白色
    显示方式           意义
    -------------------------
    0                终端默认设置
    1                高亮显示
    4                使用下划线
    5                闪烁
    7                反白显示
    8                不可见
     
    例子:
    33[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
    33[0m          <!--采用终端默认设置,即取消颜色设置-->

          下面是我在python中使用的方式:

    1
    2
    3
    4
    5
    6
    7
    8
    print '33[1;31;40m'
    print '*' * 50
    print '*HOST: ', request.META.get('REMOTE_ADDR')
    print '*URI: ', request.path
    print '*ARGS: ', QueryDict(request.body)
    print '*TIME: ', time.time() - request.start_time
    print '*' * 50
    print '33[0m'

          效果图如下:
    python项目中输出指定颜色的日志
          当然这只是一种简单的实现方式,而且仅在linux下有效,其它方式可以使用termcolor,或者参考ipython的console实现(pyreadline)。

  • 相关阅读:
    shop--6.店铺注册--service层实现(事务)
    shop--6.店铺注册--Dto的ShopExection(不知道有什么用)
    shop--6.店铺注册--使用thumbnailator进行图片处理
    shop--6.店铺注册
    shop--0.项目中遇到的问题 插入数据时,直接拿到自增的Id的方法
    shop--5.使用Junit进行项目框架的验证
    shop--4.配置数据库连接 jdbc.properties,mybatis相关,Spring配置
    shop--3.配置maven
    codeforces 495B. Modular Equations 解题报告
    BestCoder22 1002.NPY and arithmetic progression(hdu 5143) 解题报告
  • 原文地址:https://www.cnblogs.com/anzhangjun/p/8553327.html
Copyright © 2011-2022 走看看