From 2f636236bf0ef8f7d4c3a98ce6e3c3b1ee3ca0f0 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Sat, 12 Oct 2013 22:02:30 +0200 Subject: rebar_config:is_verbose/0: fix variable name --- src/rebar_config.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/rebar_config.erl b/src/rebar_config.erl index 461de5d..fe6945e 100644 --- a/src/rebar_config.erl +++ b/src/rebar_config.erl @@ -111,8 +111,8 @@ get_global(Config, Key, Default) -> end. is_verbose(Config) -> - DefaulLevel = rebar_log:default_level(), - get_global(Config, verbose, DefaulLevel) > DefaulLevel. + DefaultLevel = rebar_log:default_level(), + get_global(Config, verbose, DefaultLevel) > DefaultLevel. consult_file(File) -> case filename:extension(File) of -- cgit v1.1 From e5d76e7e8cbd923b0f50034c2221f7abe1452804 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Sat, 12 Oct 2013 22:07:03 +0200 Subject: rebar_log: use defines for log level numbers --- src/rebar_log.erl | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 4108c9c..7f32e18 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -30,6 +30,11 @@ set_level/1, default_level/0, log/3]). +-define(ERROR_LEVEL, 0). +-define(WARN_LEVEL, 1). +-define(INFO_LEVEL, 2). +-define(DEBUG_LEVEL, 3). + %% =================================================================== %% Public API %% =================================================================== @@ -37,10 +42,10 @@ init(Config) -> Verbosity = rebar_config:get_global(Config, verbose, default_level()), case valid_level(Verbosity) of - 0 -> set_level(error); - 1 -> set_level(warn); - 2 -> set_level(info); - 3 -> set_level(debug) + ?ERROR_LEVEL -> set_level(error); + ?WARN_LEVEL -> set_level(warn); + ?INFO_LEVEL -> set_level(info); + ?DEBUG_LEVEL -> set_level(debug) end. set_level(Level) -> @@ -55,17 +60,16 @@ log(Level, Str, Args) -> ok end. -default_level() -> error_level(). +default_level() -> ?WARN_LEVEL. %% =================================================================== %% Internal functions %% =================================================================== valid_level(Level) -> - erlang:max(error_level(), erlang:min(Level, debug_level())). + erlang:max(?ERROR_LEVEL, erlang:min(Level, ?DEBUG_LEVEL)). -error_level() -> 0. -debug_level() -> 3. +error_level() -> ?ERROR_LEVEL. should_log(debug, _) -> true; should_log(info, debug) -> false; -- cgit v1.1 From 6de94e8a166bcf4f82d799cf8f208d39babed415 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Sat, 12 Oct 2013 22:12:40 +0200 Subject: Change default log level to 'warn' and introduce -q/--quiet --- src/rebar.erl | 25 ++++++++++++++++--------- src/rebar_log.erl | 7 ++++--- 2 files changed, 20 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/rebar.erl b/src/rebar.erl index 2d9fe04..1efa43f 100644 --- a/src/rebar.erl +++ b/src/rebar.erl @@ -258,13 +258,20 @@ save_options(Config, {Options, NonOptArgs}) -> %% set log level based on getopt option %% set_log_level(Config, Options) -> - LogLevel = case proplists:get_all_values(verbose, Options) of - [] -> - rebar_log:default_level(); - Verbosities -> - lists:last(Verbosities) - end, - rebar_config:set_global(Config, verbose, LogLevel). + Level = case proplists:get_bool(quiet, Options) of + true -> + rebar_log:error_level(); + false -> + DefaultLevel = rebar_log:default_level(), + case proplists:get_all_values(verbose, Options) of + [] -> + DefaultLevel; + Verbosities -> + DefaultLevel + lists:last(Verbosities) + end + end, + + rebar_config:set_global(Config, verbose, Level). %% %% show version information and halt @@ -375,12 +382,12 @@ option_spec_list() -> JobsHelp = io_lib:format( "Number of concurrent workers a command may use. Default: ~B", [Jobs]), - VerboseHelp = "Verbosity level (-v, -vv, -vvv, --verbose 3). Default: 0", [ %% {Name, ShortOpt, LongOpt, ArgSpec, HelpMsg} {help, $h, "help", undefined, "Show the program options"}, {commands, $c, "commands", undefined, "Show available commands"}, - {verbose, $v, "verbose", integer, VerboseHelp}, + {verbose, $v, "verbose", integer, "Verbosity level (-v, -vv)"}, + {quiet, $q, "quiet", boolean, "Quiet, only print error messages"}, {version, $V, "version", undefined, "Show version information"}, {force, $f, "force", undefined, "Force"}, {defines, $D, undefined, string, "Define compiler macro"}, diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 7f32e18..300a615 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -27,7 +27,9 @@ -module(rebar_log). -export([init/1, - set_level/1, default_level/0, + set_level/1, + error_level/0, + default_level/0, log/3]). -define(ERROR_LEVEL, 0). @@ -60,6 +62,7 @@ log(Level, Str, Args) -> ok end. +error_level() -> ?ERROR_LEVEL. default_level() -> ?WARN_LEVEL. %% =================================================================== @@ -69,8 +72,6 @@ default_level() -> ?WARN_LEVEL. valid_level(Level) -> erlang:max(?ERROR_LEVEL, erlang:min(Level, ?DEBUG_LEVEL)). -error_level() -> ?ERROR_LEVEL. - should_log(debug, _) -> true; should_log(info, debug) -> false; should_log(info, _) -> true; -- cgit v1.1 From f39309a66020e13892350785bf3feff6907c5ee6 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Tue, 3 Dec 2013 19:59:28 +0100 Subject: Write ERROR messages to standard_error device --- src/rebar_log.erl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 300a615..8be090b 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -30,7 +30,8 @@ set_level/1, error_level/0, default_level/0, - log/3]). + log/3, + log/4]). -define(ERROR_LEVEL, 0). -define(WARN_LEVEL, 1). @@ -54,10 +55,13 @@ set_level(Level) -> ok = application:set_env(rebar, log_level, Level). log(Level, Str, Args) -> + log(standard_io, Level, Str, Args). + +log(Device, Level, Str, Args) -> {ok, LogLevel} = application:get_env(rebar, log_level), case should_log(LogLevel, Level) of true -> - io:format(log_prefix(Level) ++ Str, Args); + io:format(Device, log_prefix(Level) ++ Str, Args); false -> ok end. -- cgit v1.1 From 277a10cd3b10a885b35ba9b75b85398870525658 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Fri, 6 Dec 2013 20:55:41 +0100 Subject: Fix is_verbose/1 helper function --- src/rebar.erl | 35 +++++++++++++++++++++-------------- src/rebar_config.erl | 5 ----- src/rebar_ct.erl | 4 ++-- src/rebar_eunit.erl | 2 +- src/rebar_log.erl | 6 +++++- src/rebar_xref.erl | 2 +- 6 files changed, 30 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/rebar.erl b/src/rebar.erl index 1efa43f..8fad12f 100644 --- a/src/rebar.erl +++ b/src/rebar.erl @@ -258,20 +258,27 @@ save_options(Config, {Options, NonOptArgs}) -> %% set log level based on getopt option %% set_log_level(Config, Options) -> - Level = case proplists:get_bool(quiet, Options) of - true -> - rebar_log:error_level(); - false -> - DefaultLevel = rebar_log:default_level(), - case proplists:get_all_values(verbose, Options) of - [] -> - DefaultLevel; - Verbosities -> - DefaultLevel + lists:last(Verbosities) - end - end, - - rebar_config:set_global(Config, verbose, Level). + {IsVerbose, Level} = + case proplists:get_bool(quiet, Options) of + true -> + {false, rebar_log:error_level()}; + false -> + DefaultLevel = rebar_log:default_level(), + case proplists:get_all_values(verbose, Options) of + [] -> + {false, DefaultLevel}; + Verbosities -> + {true, DefaultLevel + lists:last(Verbosities)} + end + end, + + case IsVerbose of + true -> + Config1 = rebar_config:set_xconf(Config, is_verbose, true), + rebar_config:set_global(Config1, verbose, Level); + false -> + rebar_config:set_global(Config, verbose, Level) + end. %% %% show version information and halt diff --git a/src/rebar_config.erl b/src/rebar_config.erl index fe6945e..9b58d4f 100644 --- a/src/rebar_config.erl +++ b/src/rebar_config.erl @@ -31,7 +31,6 @@ get_all/2, set/3, set_global/3, get_global/3, - is_verbose/1, save_env/3, get_env/2, reset_envs/1, set_skip_dir/2, is_skip_dir/2, reset_skip_dirs/1, clean_config/2, @@ -110,10 +109,6 @@ get_global(Config, Key, Default) -> Value end. -is_verbose(Config) -> - DefaultLevel = rebar_log:default_level(), - get_global(Config, verbose, DefaultLevel) > DefaultLevel. - consult_file(File) -> case filename:extension(File) of ".script" -> diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl index 74ae618..91d763b 100644 --- a/src/rebar_ct.erl +++ b/src/rebar_ct.erl @@ -101,7 +101,7 @@ run_test(TestDir, LogDir, Config, _File) -> {Cmd, RawLog} = make_cmd(TestDir, LogDir, Config), ?DEBUG("ct_run cmd:~n~p~n", [Cmd]), clear_log(LogDir, RawLog), - Output = case rebar_config:is_verbose(Config) of + Output = case rebar_log:is_verbose(Config) of false -> " >> " ++ RawLog ++ " 2>&1"; true -> @@ -172,7 +172,7 @@ check_log(Config,RawLog,Fun) -> %% Show the log if it hasn't already been shown because verbose was on show_log(Config, RawLog) -> ?CONSOLE("Showing log\n", []), - case rebar_config:is_verbose(Config) of + case rebar_log:is_verbose(Config) of false -> {ok, Contents} = file:read_file(RawLog), ?CONSOLE("~s", [Contents]); diff --git a/src/rebar_eunit.erl b/src/rebar_eunit.erl index d39b1a2..6ea28f7 100644 --- a/src/rebar_eunit.erl +++ b/src/rebar_eunit.erl @@ -408,7 +408,7 @@ perform_eunit(Config, Tests) -> get_eunit_opts(Config) -> %% Enable verbose in eunit if so requested.. - BaseOpts = case rebar_config:is_verbose(Config) of + BaseOpts = case rebar_log:is_verbose(Config) of true -> [verbose]; false -> diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 8be090b..ba25332 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -31,7 +31,8 @@ error_level/0, default_level/0, log/3, - log/4]). + log/4, + is_verbose/1]). -define(ERROR_LEVEL, 0). -define(WARN_LEVEL, 1). @@ -69,6 +70,9 @@ log(Device, Level, Str, Args) -> error_level() -> ?ERROR_LEVEL. default_level() -> ?WARN_LEVEL. +is_verbose(Config) -> + rebar_config:get_xconf(Config, is_verbose, false). + %% =================================================================== %% Internal functions %% =================================================================== diff --git a/src/rebar_xref.erl b/src/rebar_xref.erl index eaf6d03..0d89460 100644 --- a/src/rebar_xref.erl +++ b/src/rebar_xref.erl @@ -51,7 +51,7 @@ xref(Config, _) -> xref:set_default(xref, [{warnings, rebar_config:get(Config, xref_warnings, false)}, - {verbose, rebar_config:is_verbose(Config)}]), + {verbose, rebar_log:is_verbose(Config)}]), {ok, _} = xref:add_directory(xref, "ebin"), -- cgit v1.1