Explorar el Código

trace to print payload

Feng Lee hace 10 años
padre
commit
1a883faef2
Se han modificado 1 ficheros con 15 adiciones y 2 borrados
  1. 15 2
      apps/emqttd/src/emqttd_pubsub.erl

+ 15 - 2
apps/emqttd/src/emqttd_pubsub.erl

@@ -159,7 +159,7 @@ cast(Msg) ->
 %%------------------------------------------------------------------------------
 %%------------------------------------------------------------------------------
 -spec publish(From :: mqtt_clientid() | atom(), Msg :: mqtt_message()) -> ok.
 -spec publish(From :: mqtt_clientid() | atom(), Msg :: mqtt_message()) -> ok.
 publish(From, #mqtt_message{topic=Topic} = Msg) ->
 publish(From, #mqtt_message{topic=Topic} = Msg) ->
-    lager:info([{client, From}, {topic, Topic}], "~s PUBLISH to ~s", [From, Topic]),
+    trace(publish, From, Msg),
     %% Retain message first. Don't create retained topic.
     %% Retain message first. Don't create retained topic.
     case emqttd_msg_store:retain(Msg) of
     case emqttd_msg_store:retain(Msg) of
         ok ->
         ok ->
@@ -169,7 +169,7 @@ publish(From, #mqtt_message{topic=Topic} = Msg) ->
             publish(From, Topic, Msg)
             publish(From, Topic, Msg)
      end.
      end.
 
 
-publish(_From, <<"$Q/", _/binary>> = Queue, #mqtt_message{qos = Qos} = Msg) ->
+publish(From, <<"$Q/", _/binary>> = Queue, #mqtt_message{qos = Qos} = Msg) ->
     lists:foreach(
     lists:foreach(
         fun(#mqtt_queue{subpid = SubPid, qos = SubQos}) -> 
         fun(#mqtt_queue{subpid = SubPid, qos = SubQos}) -> 
             Msg1 = if
             Msg1 = if
@@ -450,3 +450,16 @@ setstats(dropped, false) ->
 setstats(dropped, true) ->
 setstats(dropped, true) ->
     emqttd_metrics:inc('messages/dropped').
     emqttd_metrics:inc('messages/dropped').
 
 
+
+%%%=============================================================================
+%%% Trace functions
+%%%=============================================================================
+
+trace(publish, From, _Msg) when is_atom(From) ->
+    %%dont' trace broker publish
+    ignore;
+
+trace(publish, From, #mqtt_message{topic = Topic, payload = Payload}) ->
+    lager:info([{client, From}, {topic, Topic}],
+                    "~s PUBLISH to ~s: ~p", [From, Topic, Payload]).
+