Current section

Files

Jump to
nova include nova.hrl
Raw

include/nova.hrl

-ifndef(OTP_RELEASE).
-define(LOG(Level, Msg), io:format("[~p] ~s~n", [Level, Msg])).
-define(LOG(Level, Msg, Metadata),
case Level of
error -> io:format(?TERM_RED);
warning -> io:format(?TERM_YELLOW);
info -> io:format(?TERM_GREEN);
_ -> ok
end,
io:format("[~p] ", [Level]),
io:format(Msg, Metadata),
io:format("~s~n", [?TERM_RESET])).
-define(WITH_STACKTRACE(T, R, S), T:R -> S = erlang:get_stacktrace(), ).
-else.
-define(LOG(Level, Msg), logger:log(Level, Msg)).
-define(LOG(Level, Msg, Metadata), logger:log(Level, Msg, Metadata)).
-define(WITH_STACKTRACE(T, R, S), T:R:S ->).
-endif.
-define(TERM_RED, "\033[31m").
-define(TERM_GREEN, "\033[32m").
-define(TERM_YELLOW, "\033[33m").
-define(TERM_BLUE, "\033[34m").
-define(TERM_BOLD, "\033[1m").
-define(TERM_RESET, "\033[m").
-define(INFO(M), ?LOG(info, ?TERM_GREEN ++ M ++ ?TERM_RESET)).
-define(INFO(M,Meta), ?LOG(info, ?TERM_GREEN ++ M ++ ?TERM_RESET, Meta)).
-define(WARNING(M), ?LOG(warning, ?TERM_YELLOW ++ M ++ ?TERM_RESET)).
-define(WARNING(M,Meta), ?LOG(warning, ?TERM_YELLOW ++ M ++ ?TERM_RESET, Meta)).
-define(ERROR(M), ?LOG(error, ?TERM_RED ++ M ++ ?TERM_RESET)).
-define(ERROR(M,Meta), ?LOG(error, ?TERM_RED ++ M ++ ?TERM_RESET, Meta)).