linux 终端下输出显示颜色color for xterm in ruby lang.

linux 下,在ROR的app中,看到的有颜色的sql语句,实现方法,当然是调用 linux 的系统颜色来作设置的,当用tail -f file 查看文件的时候就可以看到不同颜色标识的文字啦.


location at :
/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/connection_adapters/abstract_adapter.rb
def format_log_entry(message, dump = nil)
if ActiveRecord::Base.colorize_logging
if @@row_even
@@row_even = false
message_color, dump_color = "4;36;1", "0;1"
else
@@row_even = true
message_color, dump_color = "4;35;1", "0"
end

log_entry = " \e[#{message_color}m#{message}\e[0m "
log_entry << "\e[#{dump_color}m%#{String === dump ? 's' : 'p'}\e[0m" % dump if dump
log_entry
else
"%s %s" % [message, dump]
end
end



linux 端颜色设置 :
1. 用echo "<ctrl-v>;<escape>;[31m测试<ctrl-v>;<escape>;[37m"
echo "^[[Xm YourChar"
(X=30,31...36?)
请注意这个转义系列的敲法是,<ctrl-v>;<escape>;[30m
echo "<ctrl-v>;<escape>;[<代码>;;<代码>;;<代码>;m"
注意,语句必须要在""之间,属性分隔符为";",如闪烁红色
echo "<ctrl-v>;<escape>;[31;5m测试"

2. 前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色

代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见

3. 产生颜色(黑色背景加绿色前景色):
sco: setcolor red; echo "abcd"; setcolor white
Linux/BSD: /usr/bin/echo -e "\033[40;32m"
System V: /usr/bin/echo "\033[40;32m"
Generic Method: /usr/bin/echo "<ctrl-v>;<escape>;[40;32m"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值