Browse Source

Merge pull request #902 from project-fifo/less-color

Less color
pull/1062/head
Tristan Sloughter 9 years ago
parent
commit
44ebce927f
2 changed files with 28 additions and 1 deletions
  1. +26
    -1
      src/rebar_log.erl
  2. +2
    -0
      src/rebar_relx.erl

+ 26
- 1
src/rebar_log.erl View File

@ -30,6 +30,7 @@
set_level/1,
error_level/0,
default_level/0,
intensity/0,
log/3,
is_verbose/1]).
@ -37,11 +38,31 @@
-define(WARN_LEVEL, 1).
-define(INFO_LEVEL, 2).
-define(DEBUG_LEVEL, 3).
-define(DFLT_INTENSITY, low).
%% ===================================================================
%% Public API
%% ===================================================================
%% @doc Returns the color intensity, we first check the application envorinment
%% if that is not set we check the environment variable REBAR_COLOR.
intensity() ->
case application:get_env(rebar, color_intensity) of
undefined ->
R = case os:getenv("REBAR_COLOR") of
"high" ->
high;
"low" ->
low;
_ ->
?DFLT_INTENSITY
end,
application:set_env(rebar, color_intensity, R),
R;
{ok, Mode} ->
Mode
end.
init(Caller, Verbosity) ->
Level = case valid_level(Verbosity) of
?ERROR_LEVEL -> error;
@ -49,12 +70,16 @@ init(Caller, Verbosity) ->
?INFO_LEVEL -> info;
?DEBUG_LEVEL -> debug
end,
Log = ec_cmd_log:new(Level, Caller),
Intensity = intensity(),
Log = ec_cmd_log:new(Level, Caller, Intensity),
application:set_env(rebar, log, Log).
set_level(Level) ->
ok = application:set_env(rebar, log_level, Level).
log(Level = error, Str, Args) ->
{ok, LogState} = application:get_env(rebar, log),
ec_cmd_log:Level(LogState, lists:flatten(cf:format("~!^~s~n", [Str])), Args);
log(Level, Str, Args) ->
{ok, LogState} = application:get_env(rebar, log),
ec_cmd_log:Level(LogState, Str++"~n", Args).

+ 2
- 0
src/rebar_relx.erl View File

@ -14,6 +14,8 @@
-spec do(atom(), string(), atom(), rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(Module, Command, Provider, State) ->
%% We set the color mode for relx as a application env
application:set_env(relx, color_intensity, rebar_log:intensity()),
Options = rebar_state:command_args(State),
DepsDir = rebar_dir:deps_dir(State),
ProjectAppDirs = lists:delete(".", ?DEFAULT_PROJECT_APP_DIRS),

Loading…
Cancel
Save