@@ -257,7 +257,17 @@ defmodule Logger.Translator do
257257 defp crash_info ( min_level ,
258258 [ { :ancestors , ancestors } | debug ] , prefix ) do
259259 [ prefix , "Ancestors: " , inspect ( ancestors ) |
260- crash_debug ( min_level , debug , prefix ) ]
260+ crash_info ( min_level , debug , prefix ) ]
261+ end
262+
263+ defp crash_info ( :debug , debug , prefix ) do
264+ for { key , value } <- debug do
265+ crash_debug ( key , value , prefix )
266+ end
267+ end
268+
269+ defp crash_info ( _ , _ , _ ) do
270+ [ ]
261271 end
262272
263273 defp crash_call ( mod , fun , arity ) when is_integer ( arity ) do
@@ -268,22 +278,28 @@ defmodule Logger.Translator do
268278 format_mfa ( mod , fun , length ( args ) )
269279 end
270280
271- defp crash_debug ( :debug ,
272- [ messages: msgs , links: links , dictionary: dict ,
273- trap_exit: trap , status: status , heap_size: heap_size ,
274- stack_size: stack_size , reductions: reductions ] , prefix ) do
275- [ prefix , "Messages: " , inspect ( msgs ) ,
276- prefix , "Links: " , inspect ( links ) ,
277- prefix , "Dictionary: " , inspect ( dict ) ,
278- prefix , "Trapping Exits: " , inspect ( trap ) ,
279- prefix , "Status: " , inspect ( status ) ,
280- prefix , "Heap Size: " , inspect ( heap_size ) ,
281- prefix , "Stack Size: " , inspect ( stack_size ) ,
282- prefix , "Reductions: " , inspect ( reductions ) ]
281+ defp crash_debug ( :current_stacktrace , stack , prefix ) do
282+ stack_prefix = [ prefix | " " ]
283+ [ prefix , "Current Stacktrace:" |
284+ Enum . map ( stack , & [ stack_prefix | Exception . format_stacktrace_entry ( & 1 ) ] ) ]
283285 end
284286
285- defp crash_debug ( _min_level , _info , _prefix ) do
286- [ ]
287+ defp crash_debug ( key , value , prefix ) do
288+ [ prefix , crash_debug_key ( key ) , ?: , ?\s , inspect ( value ) ]
289+ end
290+
291+ defp crash_debug_key ( key ) do
292+ case key do
293+ :message_queue_len -> "Message Queue Length"
294+ :messages -> "Messages"
295+ :links -> "Links"
296+ :dictionary -> "Dictionary"
297+ :trap_exit -> "Trapping Exits"
298+ :status -> "Status"
299+ :heap_size -> "Heap Size"
300+ :stack_size -> "Stack Size"
301+ :reductions -> "Reductions"
302+ end
287303 end
288304
289305 defp crash_linked ( _min_level , [ ] ) , do: [ ]
0 commit comments