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 | 9fbe13b18ee33790d0b0610235b3cc26942060dc (patch) | |
| tree | e7b73bcfaa1e533d5934c04e62fff8c2a1bce245 | |
| parent | 3a3f5c9dfbe5ec7b877ac40a7fea212891d5022f (diff) | |
| download | rabbitmq-server-git-9fbe13b18ee33790d0b0610235b3cc26942060dc.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 e11eff1c3c..a13764bfa2 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, |
