|
%%% -------------------------------------------------------
|
|
%%% @author huangyongxing@yeah.net
|
|
%%% @doc
|
|
%%% OTP版本差异兼容性管理
|
|
%%% @end
|
|
%%% -------------------------------------------------------
|
|
-ifndef(OTP_COMPATIBLE_HRL).
|
|
-define(OTP_COMPATIBLE_HRL, ok).
|
|
|
|
|
|
%% 版本差异管理
|
|
%% -------------------------------------------------------------------
|
|
-ifdef(OTP_RELEASE). %% OTP 21 or higher
|
|
%% -------------------------------------------------------------------
|
|
|
|
%% 异常处理
|
|
-define(EXCEPTION(Class, Reason, Stacktrace), Class:Reason:Stacktrace).
|
|
-define(GET_STACK(Stacktrace), Stacktrace).
|
|
%% error logger
|
|
-define(LOGGER(Fmt, Args), logger:error(Fmt, Args)).
|
|
|
|
%% -------------------------------------------------------------------
|
|
-else. %% OTP 20 or lower
|
|
%% -------------------------------------------------------------------
|
|
|
|
%% 异常处理
|
|
-define(EXCEPTION(Class, Reason, _), Class:Reason).
|
|
-define(GET_STACK(_), erlang:get_stacktrace()).
|
|
%% error logger
|
|
-define(LOGGER(Fmt, Args), error_logger:error_msg(Fmt, Args)).
|
|
|
|
%% -------------------------------------------------------------------
|
|
-endif.
|
|
%% -------------------------------------------------------------------
|
|
|
|
|
|
-endif.
|