fix: emqx_message:format/1 failed on undefined message id

This commit is contained in:
Shawn 2022-02-10 12:43:39 +08:00
parent 038136fc83
commit 8cf268dffb
1 changed files with 6 additions and 1 deletions

View File

@ -342,9 +342,14 @@ format(#message{id = Id,
flags = Flags, flags = Flags,
headers = Headers}) -> headers = Headers}) ->
io_lib:format("Message(Id=~s, QoS=~w, Topic=~s, From=~p, Flags=~s, Headers=~s)", io_lib:format("Message(Id=~s, QoS=~w, Topic=~s, From=~p, Flags=~s, Headers=~s)",
[emqx_guid:to_hexstr(Id), QoS, Topic, From, format(flags, Flags), [printable_msg_id(Id), QoS, Topic, From, format(flags, Flags),
format(headers, Headers)]). format(headers, Headers)]).
printable_msg_id(undefined) ->
<<>>;
printable_msg_id(Id) ->
emqx_guid:to_hexstr(Id).
format(flags, Flags) -> format(flags, Flags) ->
io_lib:format("~p", [[Flag || {Flag, true} <- maps:to_list(Flags)]]); io_lib:format("~p", [[Flag || {Flag, true} <- maps:to_list(Flags)]]);
format(headers, Headers) -> format(headers, Headers) ->