package Ġcom . ba ob omb . n la ut ou it est Ċ Ċ class ĠTesting Logger ( val Ġtest Name : ĠString ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġs Instance Map : ĠHashMap < String , ĠTesting Logger > Ġ= ĠHashMap () ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġget ( test Name : ĠString ): ĠTesting Logger Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( s Instance Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( s Instance Map . containsKey ( test Name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtesting Logger Ġ= Ġs Instance Map [ test Name ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( testing Logger Ġ!= Ġnull Ġ&& Ġ! testing Logger . is End ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtesting Logger ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Instance Map . remove ( test Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtesting Logger Instance Ġ= ĠTesting Logger ( test Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Instance Map [ test Name ] Ġ= Ġtesting Logger Instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtesting Logger Instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtesting Logger Instance Ġ= ĠTesting Logger ( test Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Instance Map [ test Name ] Ġ= Ġtesting Logger Instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtesting Logger Instance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġlogs : ĠArrayList < String > Ġ= ĠArrayList () ĊĠĠĠ Ġvar Ġis End : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġstart Record Testing Log () Ġ{ ĊĠĠĠĠĠĠĠ Ġis End Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop Record Testing Log () Ġ{ ĊĠĠĠĠĠĠĠ Ġis End Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Log Into Cache ( log Tag : ĠString , Ġlog Text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Ġ= Ġ" [$ log Tag ] Ġ: Ġ$ log Text " ĊĠĠĠĠĠĠĠ Ġlogs . add ( log ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġflush () Ġ{ ĊĊĠĠĠ Ġ} Ċ }