一、帶顏色輸出
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)]).