From 9ccff9bd2d0b0e4095b6ec5af69384767cbbee8c Mon Sep 17 00:00:00 2001 From: arpunk Date: Tue, 31 Jul 2018 19:45:55 -0500 Subject: [PATCH] Remove gen_logger and use native Erlang logging functions This also takes into account the new logger module --- include/emqttc_packet.hrl | 17 +++++ rebar.config | 8 +-- rebar.lock | 1 + src/emqttc.app.src | 2 +- src/emqttc.erl | 132 +++++++++++++++++--------------------- src/emqttc_protocol.erl | 39 +++++------ 6 files changed, 97 insertions(+), 102 deletions(-) create mode 100644 rebar.lock diff --git a/include/emqttc_packet.hrl b/include/emqttc_packet.hrl index 0b3f2486..2dd38af7 100644 --- a/include/emqttc_packet.hrl +++ b/include/emqttc_packet.hrl @@ -24,6 +24,23 @@ %%% @end %%%----------------------------------------------------------------------------- +%%------------------------------------------------------------------------------ +%% Logging wrappers +%%------------------------------------------------------------------------------ + +%% this macro only exists in OTP21 and above where logger already exists +-ifdef(OTP_RELEASE). +-define(debug(Message, Opts), logger:debug(Message, Opts)). +-define(info(Message, Opts), logger:info(Message, Opts)). +-define(warn(Message, Opts), logger:warning(Message, Opts)). +-define(error(Message, Opts), logger:error(Message, Opts)). +-else. +-define(debug(Message, Opts), error_logger:info_msg(Message, Opts)). +-define(info(Message, Opts), error_logger:info_msg(Message, Opts)). +-define(warn(Message, Opts), error_logger:warning_msg(Message, Opts)). +-define(error(Message, Opts), error_logger:error_msg(Message, Opts)). +-endif. + %%------------------------------------------------------------------------------ %% MQTT Protocol Version and Levels %%------------------------------------------------------------------------------ diff --git a/rebar.config b/rebar.config index 5c631836..c29cd84e 100644 --- a/rebar.config +++ b/rebar.config @@ -14,14 +14,12 @@ {xref_checks, [undefined_function_calls]}. {cover_enabled, false}. -{edoc_opts, [{dialyzer_specs, all}, +{edoc_opts, [{dialyzer_specs, all}, {report_missing_type, true}, - {report_type_mismatch, true}, + {report_type_mismatch, true}, {pretty_print, erl_pp}, {preprocess, true}]}. {validate_app_modules, true}. -{deps, [ - {gen_logger, ".*", {git, "https://github.com/emqtt/gen_logger.git", {branch, "master"}}} -]}. +{deps, []}. diff --git a/rebar.lock b/rebar.lock new file mode 100644 index 00000000..57afcca0 --- /dev/null +++ b/rebar.lock @@ -0,0 +1 @@ +[]. diff --git a/src/emqttc.app.src b/src/emqttc.app.src index 10d07890..6895913e 100644 --- a/src/emqttc.app.src +++ b/src/emqttc.app.src @@ -5,6 +5,6 @@ {registered, []}, {applications, [kernel, stdlib]}, - {included_applications, [gen_logger]}, + {included_applications, []}, {env, []} ]}. diff --git a/src/emqttc.erl b/src/emqttc.erl index e9f09d51..1ca6abd8 100644 --- a/src/emqttc.erl +++ b/src/emqttc.erl @@ -83,7 +83,6 @@ | {puback_timeout, pos_integer()} | {suback_timeout, pos_integer()} | ssl | {ssl, [ssl:ssloption()]} - | {logger, atom() | {atom(), atom()}} | force_ping | {force_ping, boolean()} | auto_resub | {auto_resub, boolean()} | {reconnect, non_neg_integer() | {non_neg_integer(), non_neg_integer()} | false}. @@ -115,7 +114,6 @@ connack_tref :: reference(), transport = tcp :: tcp | ssl, reconnector :: emqttc_reconnector:reconnector() | undefined, - logger :: gen_logger:logmod(), tcp_opts :: [gen_tcp:connect_option()], ssl_opts :: [ssl:ssloption()]}). @@ -389,31 +387,25 @@ init([Name, Recipient, MqttOpts, TcpOpts]) -> process_flag(trap_exit, true), - Logger = gen_logger:new(get_value(logger, MqttOpts, {console, debug})), - - MqttOpts1 = proplists:delete(logger, MqttOpts), - - case get_value(client_id, MqttOpts1) of - undefined -> Logger:warning("ClientId is NULL!"); + case get_value(client_id, MqttOpts) of + undefined -> ?warn("ClientId is NULL!", []); _ -> ok end, ProtoState = emqttc_protocol:init( - emqttc_opts:merge([{logger, Logger}, - {keepalive, ?KEEPALIVE}], MqttOpts1)), - - State = init(MqttOpts1, #state{name = Name, - recipient = Recipient, - host = "127.0.0.1", - port = 1883, - proto_state = ProtoState, - keepalive_after = ?KEEPALIVE, - connack_timeout = ?CONNACK_TIMEOUT, - puback_timeout = ?PUBACK_TIMEOUT, - suback_timeout = ?SUBACK_TIMEOUT, - logger = Logger, - tcp_opts = TcpOpts, - ssl_opts = []}), + emqttc_opts:merge([{keepalive, ?KEEPALIVE}], MqttOpts)), + + State = init(MqttOpts, #state{name = Name, + recipient = Recipient, + host = "127.0.0.1", + port = 1883, + proto_state = ProtoState, + keepalive_after = ?KEEPALIVE, + connack_timeout = ?CONNACK_TIMEOUT, + puback_timeout = ?PUBACK_TIMEOUT, + suback_timeout = ?SUBACK_TIMEOUT, + tcp_opts = TcpOpts, + ssl_opts = []}), {ok, connecting, State, 0}. @@ -437,8 +429,6 @@ init([{force_ping, Cfg} | Opts], State) when is_boolean(Cfg) -> init(Opts, State#state{force_ping = Cfg}); init([force_ping | Opts], State) -> init(Opts, State#state{force_ping = true}); -init([{logger, Cfg} | Opts], State) -> - init(Opts, State#state{logger = gen_logger:new(Cfg)}); init([{keepalive, Time} | Opts], State) -> init(Opts, State#state{keepalive_after = Time}); init([{connack_timeout, Timeout}| Opts], State) -> @@ -478,9 +468,8 @@ waiting_for_connack(?CONNACK_PACKET(?CONNACK_ACCEPT), State = #state{ pubsub_map = PubsubMap, proto_state = ProtoState, keepalive = KeepAlive, - connack_tref = TRef, - logger = Logger}) -> - Logger:info("[Client ~s] RECV: CONNACK_ACCEPT", [Name]), + connack_tref = TRef}) -> + ?info("[Client ~s] RECV: CONNACK_ACCEPT", [Name]), %% Cancel connack timer if @@ -518,13 +507,13 @@ waiting_for_connack(?CONNACK_PACKET(?CONNACK_ACCEPT), State = #state{ {stop, {shutdown, Error}, State} end; -waiting_for_connack(?CONNACK_PACKET(ReturnCode), State = #state{name = Name, logger = Logger}) -> +waiting_for_connack(?CONNACK_PACKET(ReturnCode), State = #state{name = Name}) -> ErrConnAck = emqttc_packet:connack_name(ReturnCode), - Logger:debug("[Client ~s] RECV: ~s", [Name, ErrConnAck]), + ?debug("[Client ~s] RECV: ~s", [Name, ErrConnAck]), {stop, {shutdown, {connack_error, ErrConnAck}}, State}; -waiting_for_connack(Packet = ?PACKET(_Type), State = #state{name = Name, logger = Logger}) -> - Logger:error("[Client ~s] RECV: ~s, when waiting for connack!", [Name, emqttc_packet:dump(Packet)]), +waiting_for_connack(Packet = ?PACKET(_Type), State = #state{name = Name}) -> + ?error("[Client ~s] RECV: ~s, when waiting for connack!", [Name, emqttc_packet:dump(Packet)]), next_state(waiting_for_connack, State); waiting_for_connack(Event = {publish, _Msg}, State) -> @@ -539,12 +528,12 @@ waiting_for_connack(disconnect, State=#state{receiver = Receiver, proto_state = emqttc_socket:stop(Receiver), {stop, normal, State#state{socket = undefined, receiver = undefined}}; -waiting_for_connack({timeout, TRef, connack}, State = #state{name = Name, logger = Logger, connack_tref = TRef}) -> - Logger:error("[Client ~s] CONNACK Timeout!", [Name]), +waiting_for_connack({timeout, TRef, connack}, State = #state{name = Name, connack_tref = TRef}) -> + ?error("[Client ~s] CONNACK Timeout!", [Name]), {stop, {shutdown, connack_timeout}, State}; -waiting_for_connack(Event, State = #state{name = Name, logger = Logger}) -> - Logger:warning("[Client ~s] Unexpected Event: ~p, when waiting for connack!", [Name, Event]), +waiting_for_connack(Event, State = #state{name = Name}) -> + ?warn("[Client ~s] Unexpected Event: ~p, when waiting for connack!", [Name, Event]), {next_state, waiting_for_connack, State}. %%------------------------------------------------------------------------------ @@ -552,8 +541,8 @@ waiting_for_connack(Event, State = #state{name = Name, logger = Logger}) -> %% @doc Sync Event Handler for state that waiting_for_connack from MQTT broker. %% @end %%------------------------------------------------------------------------------ -waiting_for_connack(Event, _From, State = #state{name = Name, logger = Logger}) -> - Logger:error("[Client ~s] Event when waiting_for_connack: ~p", [Name, Event]), +waiting_for_connack(Event, _From, State = #state{name = Name}) -> + ?error("[Client ~s] Event when waiting_for_connack: ~p", [Name, Event]), {reply, {error, waiting_for_connack}, waiting_for_connack, State}. %%------------------------------------------------------------------------------ @@ -567,8 +556,7 @@ connected({publish, Msg}, State=#state{proto_state = ProtoState}) -> connected({subscribe, SubPid, Topics}, State = #state{subscribers = Subscribers, pubsub_map = PubSubMap, - proto_state = ProtoState, - logger = Logger}) -> + proto_state = ProtoState}) -> {ok, MsgId, ProtoState1} = emqttc_protocol:subscribe(Topics, ProtoState), @@ -592,7 +580,7 @@ connected({subscribe, SubPid, Topics}, State = #state{subscribers = Subscribers, Qos =:= OldQos -> Map; true -> - Logger:error("Subscribe topic '~s' with different qos: old=~p, new=~p", [Topic, OldQos, Qos]), + ?error("Subscribe topic '~s' with different qos: old=~p, new=~p", [Topic, OldQos, Qos]), maps:put(Topic, {Qos, Subs}, Map) end; false -> @@ -655,13 +643,13 @@ connected(disconnect, State=#state{receiver = Receiver, proto_state = ProtoState emqttc_socket:stop(Receiver), {stop, normal, State#state{socket = undefined, receiver = undefined}}; -connected(Packet = ?PACKET(_Type), State = #state{name = Name, logger = Logger}) -> - % Logger:debug("[Client ~s] RECV: ~s", [Name, emqttc_packet:dump(Packet)]), +connected(Packet = ?PACKET(_Type), State = #state{name = Name}) -> + % ?debug("[Client ~s] RECV: ~s", [Name, emqttc_packet:dump(Packet)]), {ok, NewState} = received(Packet, State), next_state(connected, NewState); -connected(Event, State = #state{name = Name, logger = Logger}) -> - Logger:warning("[Client ~s] Unexpected Event: ~p, when broker connected!", [Name, Event]), +connected(Event, State = #state{name = Name}) -> + ?warn("[Client ~s] Unexpected Event: ~p, when broker connected!", [Name, Event]), next_state(connected, State). %%------------------------------------------------------------------------------ @@ -707,8 +695,8 @@ connected({Pid, ping}, From, State = #state{ping_reqs = PingReqs, proto_state = end, {next_state, connected, State#state{ping_reqs = PingReqs1}}; -connected(Event, _From, State = #state{name = Name, logger = Logger}) -> - Logger:error("[Client ~s] Unexpected Sync Event when connected: ~p", [Name, Event]), +connected(Event, _From, State = #state{name = Name}) -> + ?error("[Client ~s] Unexpected Sync Event when connected: ~p", [Name, Event]), {reply, {error, unexpected_event}, connected, State}. %%------------------------------------------------------------------------------ @@ -726,8 +714,8 @@ disconnected(Event = {Tag, _From, _Topics}, State) when disconnected(disconnect, State) -> {stop, normal, State}; -disconnected(Event, State = #state{name = Name, logger = Logger}) -> - Logger:error("[Client ~s] Unexpected Event: ~p, when disconnected from broker!", [Name, Event]), +disconnected(Event, State = #state{name = Name}) -> + ?error("[Client ~s] Unexpected Event: ~p, when disconnected from broker!", [Name, Event]), next_state(disconnected, State). %%------------------------------------------------------------------------------ @@ -735,8 +723,8 @@ disconnected(Event, State = #state{name = Name, logger = Logger}) -> %% @doc Sync Event Handler for state that disconnected from MQTT broker. %% @end %%------------------------------------------------------------------------------ -disconnected(Event, _From, State = #state{name = Name, logger = Logger}) -> - Logger:error("Client ~s] Unexpected Sync Event: ~p, when disconnected from broker!", [Name, Event]), +disconnected(Event, _From, State = #state{name = Name}) -> + ?error("Client ~s] Unexpected Sync Event: ~p, when disconnected from broker!", [Name, Event]), {reply, {error, disonnected}, disconnected, State}. %%------------------------------------------------------------------------------ @@ -755,14 +743,14 @@ disconnected(Event, _From, State = #state{name = Name, logger = Logger}) -> timeout() | hibernate} | {stop, Reason :: term(), NewStateData :: #state{}}). -handle_event({frame_error, Error}, _StateName, State = #state{name = Name, logger = Logger}) -> - Logger:error("[Client ~s] Frame Error: ~p", [Name, Error]), +handle_event({frame_error, Error}, _StateName, State = #state{name = Name}) -> + ?error("[Client ~s] Frame Error: ~p", [Name, Error]), {stop, {shutdown, {frame_error, Error}}, State}; -handle_event({connection_lost, Reason}, StateName, State = #state{recipient = Recipient, name = Name, keepalive = KeepAlive, connack_tref = TRef, logger = Logger}) +handle_event({connection_lost, Reason}, StateName, State = #state{recipient = Recipient, name = Name, keepalive = KeepAlive, connack_tref = TRef}) when StateName =:= connected; StateName =:= waiting_for_connack -> - Logger:warning("[Client ~s] Connection lost for: ~p", [Name, Reason]), + ?warn("[Client ~s] Connection lost for: ~p", [Name, Reason]), %% cancel connack timer first, if connection lost when waiting for connack. case {StateName, TRef} of @@ -779,8 +767,8 @@ handle_event({connection_lost, Reason}, StateName, State = #state{recipient = Re try_reconnect(Reason, State#state{socket = undefined, connack_tref = TRef}); -handle_event(Event, StateName, State = #state{name = Name, logger = Logger}) -> - Logger:warning("[Client ~s] Unexpected Event when ~s: ~p", [Name, StateName, Event]), +handle_event(Event, StateName, State = #state{name = Name}) -> + ?warn("[Client ~s] Unexpected Event when ~s: ~p", [Name, StateName, Event]), {next_state, StateName, State}. %%------------------------------------------------------------------------------ @@ -859,9 +847,9 @@ handle_info({'EXIT', Receiver, normal}, StateName, State = #state{receiver = Rec handle_info({'EXIT', Receiver, Reason}, _StateName, State = #state{name = Name, receiver = Receiver, - keepalive = KeepAlive, logger = Logger}) -> + keepalive = KeepAlive}) -> %% event occured when receiver error - Logger:error("[Client ~s] receiver exit: ~p", [Name, Reason]), + ?error("[Client ~s] receiver exit: ~p", [Name, Reason]), emqttc_keepalive:cancel(KeepAlive), try_reconnect({receiver, Reason}, State#state{receiver = undefined, socket = undefined}); @@ -869,9 +857,8 @@ handle_info(Down = {'DOWN', MonRef, process, Pid, _Why}, StateName, State = #state{name = Name, subscribers = Subscribers, pubsub_map = PubSubMap, - ping_reqs = PingReqs, - logger = Logger}) -> - Logger:warning("[Client ~s] Process DOWN: ~p", [Name, Down]), + ping_reqs = PingReqs}) -> + ?warn("[Client ~s] Process DOWN: ~p", [Name, Down]), %% ping? PingReqs1 = lists:keydelete(MonRef, 2, PingReqs), @@ -899,8 +886,8 @@ handle_info({inet_reply, Socket, ok}, StateName, State = #state{socket = Socket} %socket send reply. next_state(StateName, State); -handle_info(Info, StateName, State = #state{name = Name, logger = Logger}) -> - Logger:error("[Client ~s] Unexpected Info when ~s: ~p", [Name, StateName, Info]), +handle_info(Info, StateName, State = #state{name = Name}) -> + ?error("[Client ~s] Unexpected Info when ~s: ~p", [Name, StateName, Info]), {next_state, StateName, State}. %%------------------------------------------------------------------------------ @@ -950,37 +937,36 @@ connect(State = #state{name = Name, keepalive_after = KeepAliveTime, connack_timeout = ConnAckTimeout, transport = Transport, - logger = Logger, tcp_opts = TcpOpts, ssl_opts = SslOpts}) -> - Logger:info("[Client ~s]: connecting to ~s:~p", [Name, Host, Port]), + ?info("[Client ~s]: connecting to ~s:~p", [Name, Host, Port]), case emqttc_socket:connect(self(), Transport, Host, Port, TcpOpts, SslOpts) of {ok, Socket, Receiver} -> ProtoState1 = emqttc_protocol:set_socket(ProtoState, Socket), emqttc_protocol:connect(ProtoState1), KeepAlive = emqttc_keepalive:new({Socket, send_oct}, KeepAliveTime, {keepalive, timeout}), TRef = gen_fsm:start_timer(ConnAckTimeout*1000, connack), - Logger:info("[Client ~s] connected with ~s:~p", [Name, Host, Port]), + ?info("[Client ~s] connected with ~s:~p", [Name, Host, Port]), {next_state, waiting_for_connack, State#state{socket = Socket, receiver = Receiver, keepalive = KeepAlive, connack_tref = TRef, proto_state = ProtoState1}}; {error, Reason} -> - Logger:info("[Client ~s] connection failure: ~p", [Name, Reason]), + ?info("[Client ~s] connection failure: ~p", [Name, Reason]), try_reconnect(Reason, State) end. try_reconnect(Reason, State = #state{reconnector = undefined}) -> {stop, {shutdown, Reason}, State}; -try_reconnect(Reason, State = #state{name = Name, reconnector = Reconnector, logger = Logger}) -> - Logger:info("[Client ~s] try reconnecting...", [Name]), +try_reconnect(Reason, State = #state{name = Name, reconnector = Reconnector}) -> + ?info("[Client ~s] try reconnecting...", [Name]), case emqttc_reconnector:execute(Reconnector, {reconnect, timeout}) of {ok, Reconnector1} -> {next_state, disconnected, State#state{reconnector = Reconnector1}}; {stop, Error} -> - Logger:error("[Client ~s] reconect error: ~p", [Name, Error]), + ?error("[Client ~s] reconect error: ~p", [Name, Error]), {stop, {shutdown, Reason}, State} end. @@ -1069,14 +1055,14 @@ reply({PubSub, ReqId}, Reply, State = #state{inflight_reqs = InflightReqs}) -> end, State#state{inflight_reqs = InflightReqs1}. -reply_timeout({Ack, ReqId}, State=#state{inflight_reqs = InflightReqs, logger = Logger}) -> +reply_timeout({Ack, ReqId}, State=#state{inflight_reqs = InflightReqs}) -> InflightReqs1 = case maps:find(ReqId, InflightReqs) of {ok, {_Pubsub, From, _MRef}} -> gen_fsm:reply(From, {error, ack_timeout}), maps:remove(ReqId, InflightReqs); error -> - Logger:error("~s timeout, cannot find inflight reqid: ~p", [Ack, ReqId]), + ?error("~s timeout, cannot find inflight reqid: ~p", [Ack, ReqId]), InflightReqs end, State#state{inflight_reqs = InflightReqs1}. diff --git a/src/emqttc_protocol.erl b/src/emqttc_protocol.erl index 5143a5a7..42021bcd 100644 --- a/src/emqttc_protocol.erl +++ b/src/emqttc_protocol.erl @@ -63,8 +63,7 @@ subscriptions = #{} :: map(), awaiting_ack = #{} :: map(), awaiting_rel = #{} :: map(), - awaiting_comp = #{} :: map(), - logger :: gen_logger:logmod()}). + awaiting_comp = #{} :: map()}). -type proto_state() :: #proto_state{}. @@ -104,8 +103,6 @@ init([{password, Password} | Opts], State) when is_binary(Password) -> init([{will, WillOpts} | Opts], State = #proto_state{will_msg = WillMsg}) -> init(Opts, State#proto_state{will_flag = true, will_msg = init_willmsg(WillOpts, WillMsg)}); -init([{logger, Logger} | Opts], State) -> - init(Opts, State#proto_state{logger = Logger}); init([_Opt | Opts], State) -> init(Opts, State). @@ -218,22 +215,21 @@ pubcomp(PacketId, State) when is_integer(PacketId) -> send(?PUBACK_PACKET(?PUBCOMP, PacketId), State). subscribe(Topics, State = #proto_state{packet_id = PacketId, - subscriptions = SubMap, - logger = Logger}) -> + subscriptions = SubMap}) -> Resubs = [Topic || {Name, _Qos} = Topic <- Topics, maps:is_key(Name, SubMap)], case Resubs of [] -> ok; - _ -> Logger:warning("[~s] resubscribe ~p", [logtag(State), Resubs]) + _ -> ?warn("[~s] resubscribe ~p", [logtag(State), Resubs]) end, SubMap1 = lists:foldl(fun({Name, Qos}, Acc) -> maps:put(Name, Qos, Acc) end, SubMap, Topics), %% send packet {ok, NewState} = send(?SUBSCRIBE_PACKET(PacketId, Topics), next_packet_id(State#proto_state{subscriptions = SubMap1})), {ok, PacketId, NewState}. -unsubscribe(Topics, State = #proto_state{subscriptions = SubMap, packet_id = PacketId, logger = Logger}) -> +unsubscribe(Topics, State = #proto_state{subscriptions = SubMap, packet_id = PacketId}) -> case Topics -- maps:keys(SubMap) of [] -> ok; - BadUnsubs -> Logger:warning("[~s] should not unsubscribe ~p", [logtag(State), BadUnsubs]) + BadUnsubs -> ?warn("[~s] should not unsubscribe ~p", [logtag(State), BadUnsubs]) end, %% unsubscribe from topic tree SubMap1 = lists:foldl(fun(Topic, Acc) -> maps:remove(Topic, Acc) end, SubMap, Topics), @@ -262,37 +258,36 @@ received({'PUBLISH', Packet = ?PUBLISH_PACKET(?QOS_2, _Topic, PacketId, _Payload pubrec(PacketId, State), {ok, State#proto_state{awaiting_rel = maps:put(PacketId, Packet, AwaitingRel)}}; -received({'PUBACK', PacketId}, State = #proto_state{awaiting_ack = AwaitingAck, logger = Logger}) -> +received({'PUBACK', PacketId}, State = #proto_state{awaiting_ack = AwaitingAck}) -> case maps:is_key(PacketId, AwaitingAck) of true -> ok; - false -> Logger:warning("[~s] PUBACK PacketId '~p' not found!", [logtag(State), PacketId]) + false -> ?warn("[~s] PUBACK PacketId '~p' not found!", [logtag(State), PacketId]) end, {ok, State#proto_state{awaiting_ack = maps:remove(PacketId, AwaitingAck)}}; received({'PUBREC', PacketId}, State = #proto_state{awaiting_ack = AwaitingAck, - awaiting_comp = AwaitingComp, - logger = Logger}) -> + awaiting_comp = AwaitingComp}) -> case maps:is_key(PacketId, AwaitingAck) of true -> ok; - false -> Logger:warning("[~s] PUBREC PacketId '~p' not found!", [logtag(State), PacketId]) + false -> ?warn("[~s] PUBREC PacketId '~p' not found!", [logtag(State), PacketId]) end, pubrel(PacketId, State), {ok, State#proto_state{awaiting_ack = maps:remove(PacketId, AwaitingAck), awaiting_comp = maps:put(PacketId, true, AwaitingComp)}}; -received({'PUBREL', PacketId}, State = #proto_state{awaiting_rel = AwaitingRel, logger = Logger}) -> +received({'PUBREL', PacketId}, State = #proto_state{awaiting_rel = AwaitingRel}) -> case maps:find(PacketId, AwaitingRel) of {ok, Publish} -> {ok, Publish, State#proto_state{awaiting_rel = maps:remove(PacketId, AwaitingRel)}}; error -> - Logger:warning("[~s] PUBREL PacketId '~p' not found!", [logtag(State), PacketId]), + ?warn("[~s] PUBREL PacketId '~p' not found!", [logtag(State), PacketId]), {ok, State} end; -received({'PUBCOMP', PacketId}, State = #proto_state{awaiting_comp = AwaitingComp, logger = Logger}) -> +received({'PUBCOMP', PacketId}, State = #proto_state{awaiting_comp = AwaitingComp}) -> case maps:is_key(PacketId, AwaitingComp) of true -> ok; - false -> Logger:warning("[~s] PUBREC PacketId '~p' not exist", [logtag(State), PacketId]) + false -> ?warn("[~s] PUBREC PacketId '~p' not exist", [logtag(State), PacketId]) end, {ok, State#proto_state{ awaiting_comp = maps:remove(PacketId, AwaitingComp)}}; @@ -315,11 +310,11 @@ received({'UNSUBACK', _PacketId}, State) -> %% %% @end %%------------------------------------------------------------------------------ -send(Packet, State = #proto_state{socket = Socket, logger = Logger}) -> +send(Packet, State = #proto_state{socket = Socket}) -> LogTag = logtag(State), - Logger:debug("[~s] SENT: ~s", [LogTag, emqttc_packet:dump(Packet)]), + ?debug("[~s] SENT: ~s", [LogTag, emqttc_packet:dump(Packet)]), Data = emqttc_serialiser:serialise(Packet), - Logger:debug("[~s] SENT: ~p", [LogTag, Data]), + ?debug("[~s] SENT: ~p", [LogTag, Data]), emqttc_socket:send(Socket, Data), {ok, State}. @@ -331,5 +326,3 @@ next_packet_id(State = #proto_state{packet_id = Id }) -> logtag(#proto_state{socket_name = SocketName, client_id = ClientId}) -> io_lib:format("~s@~s", [ClientId, SocketName]). - -