diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2014-03-24 16:30:43 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2014-03-24 16:30:43 +0000 |
commit | 5b7ee15f63f60ebfdeffaa72694976c9026c6d78 (patch) | |
tree | e7b73bcfaa1e533d5934c04e62fff8c2a1bce245 | |
parent | 01d2366eb4a9fb97d9eaab732aa1d97fb8a5f577 (diff) | |
download | rabbitmq-server-5b7ee15f63f60ebfdeffaa72694976c9026c6d78.tar.gz |
More robustness in the shape of unusual events.
-rw-r--r-- | src/truncate.erl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/truncate.erl b/src/truncate.erl index e11eff1c..a13764bf 100644 --- a/src/truncate.erl +++ b/src/truncate.erl @@ -31,15 +31,16 @@ log_event({Type, GL, {Pid, ReportType, Report}}, Size, Decr) when Type =:= error_report orelse Type =:= info_report orelse Type =:= warning_report -> - Report2 = case ReportType of - crash_report -> [[{K, term(V, Size, Decr)} || {K, V} <- R] || - R <- Report]; - _ -> [{K, term(V, Size, Decr)} || {K, V} <- Report] - end, - {Type, GL, {Pid, ReportType, Report2}}; + {Type, GL, {Pid, ReportType, report(Report, Size, Decr)}}; log_event(Event, _Size, _Decr) -> Event. +report([[Thing]], Size, Decr) -> report([Thing], Size, Decr); +report(List, Size, Decr) -> [case Item of + {K, V} -> {K, term(V, Size, Decr)}; + _ -> term(Item, Size, Decr) + end || Item <- List]. + term(Bin, N, _D) when is_binary(Bin) andalso size(Bin) > N - ?ELLIPSIS_LENGTH -> Suffix = without_ellipsis(N), <<Head:Suffix/binary, _/binary>> = Bin, |