erlang的終端帶顏色輸出與中文字符串輸出

一、帶顏色輸出
erlang終端支持帶顏色輸出,例如lager日誌庫就可以。其實就是在輸出前設置一下輸出屬性,正常的字體是:”\e[0;38m”
下面自己弄了一些宏:

-define(CONSOLE_COLOR_RED,      "\e[0;31m").
-define(CONSOLE_COLOR_RED_BOLD, "\e[1;31m").
-define(CONSOLE_COLOR_YELLOW1,  "\e[0;32m").
-define(CONSOLE_COLOR_YELLOW2,  "\e[0;33m").
-define(CONSOLE_COLOR_BLUE,     "\e[0;34m").
-define(CONSOLE_COLOR_PURPLE,   "\e[0;35m").
-define(CONSOLE_COLOR_GREEN,    "\e[0;36m").
-define(CONSOLE_COLOR_GRAY,     "\e[0;37m").
-define(CONSOLE_COLOR_NORMAL,   "\e[0;38m").

用法就是打印的字符串前後加上要設置的屬性例如
io:format(“~s~s~s~n”, [“\e[0;31m”, debug, “\e[0;38m”]).
就是在輸出debug之前設置字體爲紅色,然後輸出結束後設置字體爲正常白色。

二、中文輸出
中文輸出亂碼在rebar3插件裏用rebar_info輸出以及在ct裏用io:format(user, ….)輸出會遇到,帶中文的字符串要轉爲utf8,代碼形如:

NewFormat = io_lib:format(Format, Args),
io:format("~s", [unicode:characters_to_binary(NewFormat, utf8)]).
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章