python项目中输出指定颜色的日志
2024-08-28 15:03:26
起因
在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。
解决
我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用\033完成相同的工作(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
|
格式:\033[显示方式;前景色;背景色m 说明: 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 42 绿色 33 43 黃色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 意义 ------------------------- 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见 例子: \033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色--> \033[0m <!--采用终端默认设置,即取消颜色设置--> |
下面是我在python中使用的方式:
1
2
3
4
5
6
7
8
|
print '\033[1;31;40m' print '*' * 50 print '*HOST:\t' , request.META.get( 'REMOTE_ADDR' ) print '*URI:\t' , request.path print '*ARGS:\t' , QueryDict(request.body) print '*TIME:\t' , time.time() - request.start_time print '*' * 50 print '\033[0m' |
效果图如下:
当然这只是一种简单的实现方式,而且仅在linux下有效,其它方式可以使用termcolor,或者参考ipython的console实现(pyreadline)。
最新文章
- hbase开发实例
- JS巧妙思路
- 循序渐进Python3(十一) --5-- 同源策略
- STL库的内存配置器(allocator)
- 翻译《Writing Idiomatic Python》(四):字典、集合、元组
- 关闭 selinux 和防火墙
- 八卦一下黄晓明和Angelababy的电话号码
- Centos下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
- 图片_ _ Bitmap_Drawable_Image?
- SQL Server 2008 R2主数据服务安装
- 也说_T、_TEXT、TEXT、L
- (转)Java Ant build.xml详解
- C# WinFrom 编写正则表达式验证类
- Codeigniter-实现权限认证
- GIT分支管理是一门艺术(转)
- java创建目录与文件
- angular 按下回车键触发事件
- AngularJS进阶(十)AngularJS改变元素显示状态
- UVA 11796
- Reported time is too far out of sync with master. Time difference of 52692ms >; max allowed of 30000ms
热门文章
- ubuntu下编译安装mysql记录
- Java中的while循环——通过示例学习Java编程(10)
- VS2017无法进入断点调试且移动到breakpoint上的时候报错“breakpoint will not currently be hit. the source code is different from original version. ”
- Spring Boot相关组件的添加
- cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总
- windows安装ipython
- 【MFC】获取文件大小的方法
- 使用CSS设置Chrome打印背景色
- Java反序列化漏洞详解
- DELL R730安装ESXI虚拟化