diff --git a/apps/emqx_rule_engine/src/emqx_rule_events.erl b/apps/emqx_rule_engine/src/emqx_rule_events.erl index cbf409da7..a6ca2f7be 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_events.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_events.erl @@ -1290,7 +1290,12 @@ reason(_) -> internal_error. force_to_bin(Bin) when is_binary(Bin) -> Bin; force_to_bin(Term) -> - emqx_utils_conv:bin(io_lib:format("~p", [Term])). + try + emqx_utils_conv:bin(Term) + catch + _:_ -> + emqx_utils_conv:bin(lists:flatten(io_lib:format("~p", [Term]))) + end. ntoa(undefined) -> undefined;