package Ġio . foto ap par at . log Ċ Ċ /** Ċ Ġ* ĠAb straction Ġwhich Ġallows Ġto Ġuse Ġdifferent Ġimplementations Ġof Ġlogger . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠImplement ations Ġshould Ġnot Ġmake Ġany Ġassumptions Ġabout Ġthe Ġcalling Ġthread . Ċ Ġ*/ Ċ interface ĠLogger Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLogs Ġgiven Ġmessage . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmessage Ġmessage Ġto Ġlog . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlog ( message : ĠString ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRecords Ġa Ġcalled Ġmethod . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrecord Method () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlast Stack trace Ġ= ĠException (). stack Trace [ 2 ] ĊĊĠĠĠĠĠĠĠ Ġlog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ last Stack trace . className . split ('. '). last ()} : Ġ${ last Stack trace . methodName }" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ