%% Copyright (c) 2011 Basho Technologies, Inc. All Rights Reserved.
|
|
%%
|
|
%% This file is provided to you under the Apache License,
|
|
%% Version 2.0 (the "License"); you may not use this file
|
|
%% except in compliance with the License. You may obtain
|
|
%% a copy of the License at
|
|
%%
|
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
|
%%
|
|
%% Unless required by applicable law or agreed to in writing,
|
|
%% software distributed under the License is distributed on an
|
|
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
%% KIND, either express or implied. See the License for the
|
|
%% specific language governing permissions and limitations
|
|
%% under the License.
|
|
|
|
-define(LEVELS,
|
|
[debug, info, notice, warning, error, critical, alert, emergency]).
|
|
|
|
-define(DEBUG, 7).
|
|
-define(INFO, 6).
|
|
-define(NOTICE, 5).
|
|
-define(WARNING, 4).
|
|
-define(ERROR, 3).
|
|
-define(CRITICAL, 2).
|
|
-define(ALERT, 1).
|
|
-define(EMERGENCY, 0).
|
|
|
|
-define(LEVEL2NUM(Level),
|
|
case Level of
|
|
debug -> ?DEBUG;
|
|
info -> ?INFO;
|
|
notice -> ?NOTICE;
|
|
warning -> ?WARNING;
|
|
error -> ?ERROR;
|
|
critical -> ?CRITICAL;
|
|
alert -> ?ALERT;
|
|
emergency -> ?EMERGENCY
|
|
end).
|
|
|
|
-define(NUM2LEVEL(Num),
|
|
case Num of
|
|
?DEBUG -> debug;
|
|
?INFO -> info;
|
|
?NOTICE -> notice;
|
|
?WARNING -> warning;
|
|
?ERROR -> error;
|
|
?CRITICAL -> critical;
|
|
?ALERT -> alert;
|
|
?EMERGENCY -> emergency
|
|
end).
|
|
|
|
-define(SHOULD_LOG(Level),
|
|
?LEVEL2NUM(Level) =< lager_mochiglobal:get(loglevel, ?DEBUG)).
|
|
|
|
%% internal non-blocking logging call
|
|
-define(INT_LOG(Level, Format, Args),
|
|
case ?SHOULD_LOG(Level) of
|
|
true ->
|
|
gen_event:notify(lager_event, {log, lager_util:level_to_num(Level),
|
|
lager_util:format_time(), [io_lib:format("[~p] ~p ", [Level, self()]), io_lib:format(Format, Args)]});
|
|
_ -> ok
|
|
end).
|
|
|