package Ġdev . ak kin oc . spring . boot . log back . access . test . extension Ċ Ċ import Ġch . qos . log back . core . Appender Base Ċ import Ġdev . ak kin oc . spring . boot . log back . access . Log back Access Event Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory . getLogger Ċ import Ġorg . springframework . util . Serialization Utils . deserialize Ċ import Ġorg . springframework . util . Serialization Utils . serialize Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ Ċ /** Ċ Ġ* ĠThe ĠLog back - access Ġapp ender Ġto Ġcapture ĠLog back - access Ġevents Ġthat Ġwill Ġbe Ġappended . Ċ Ġ*/ Ċ class ĠEvents Capture Appender Ġ: ĠApp ender Base < Log back Access Event >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġappend ( event : ĠLog back Access Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent . prepare For Deferred Processing () ĊĠĠĠĠĠĠĠ Ġval Ġserialized Ġ= Ġserialize ( event ) ĊĠĠĠĠĠĠĠ Ġval Ġdeserialized Ġ= Ġdeserialize ( serialized ) Ġas ĠLog back Access Event ĊĠĠĠĠĠĠĠ Ġcaptures . forEach Ġ{ Ġ( id , Ġcapture ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcapture Ġ+= Ġdeserialized ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" Capt ured Ġthe Ġ{} : Ġ{} Ġ@ {}", ĠLog back Access Event :: class . simple Name , Ġevent , Ġid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġlogger . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlog : ĠLogger Ġ= Ġget Logger ( Events Capture Appender :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe ĠLog back - access Ġevents Ġcaptures . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġcaptures : ĠMutable Map < String , ĠEvents Capture > Ġ= ĠConcurrent HashMap () ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ