package Ġcom . sa ff rame work . log . handler Ċ Ċ import Ġcom . sa ff rame work . log . L Ċ import Ġcom . sa ff rame work . log . parser . Parser Ċ import Ġjava . io . PrintWriter Ċ import Ġjava . io . String Writer Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġt ony Ġon Ġ 2 0 1 7 / 1 1 / 2 7 . Ċ Ġ*/ Ċ class ĠThrowable Handler : Base Handler (), ĠParser < Throwable > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġhandle ( obj : ĠAny ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( obj Ġis ĠThrowable ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠL . getMethod Names () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . err . println ( String . format ( s , Ġparse String ( obj ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse String ( throwable : ĠThrowable ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsw Ġ= ĠString Writer ( 2 5 6 ) ĊĠĠĠĠĠĠĠ Ġval Ġpw Ġ= ĠPrintWriter ( sw , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġthrowable . printStackTrace ( pw ) ĊĠĠĠĠĠĠĠ Ġpw . flush () ĊĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= Ġsw . toString () ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġmessage . replace ("\ n ". to Regex (), Ġ"\ n âķĳ Ġ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmessage ĊĠĠĠ Ġ} Ċ Ċ }