package Ġnet . code tre ats . a oc 2 0 2 1 . util Ċ Ċ class ĠLogger ( private Ġval Ġtag : ĠString , Ġprivate Ġval Ġprefix : ĠString ) Ġ{ ĊĠĠĠ Ġfun Ġdebug ( message : ĠAny Ġ= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠ Ġlog ( Level . DEBUG , Ġ"[ DEBUG ]$ message ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinfo ( message : ĠAny Ġ= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠ Ġlog ( Level . INFO , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwarn ( message : ĠAny Ġ= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠ Ġlog ( Level . WARN , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġerror ( message : ĠAny Ġ= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠ Ġlog ( Level . ERROR , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsystem ( message : ĠAny Ġ= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠ Ġlog ( Level . SYSTEM , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlog ( level : ĠLevel , Ġmessage : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( level Ġ>= ĠLogger . level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" [$ tag ]( $ prefix ) Ġ$ message ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlevel : ĠLevel Ġ= ĠLevel . INFO ĊĊĠĠĠĠĠĠĠ Ġfun Ġfor Day ( day OfMonth : ĠInt , Ġprefix : ĠString Ġ= Ġ" Day ${ day OfMonth . pad () }") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger (" Day ${ day OfMonth . pad () }", Ġprefix ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠLevel ( val Ġlevel : ĠInt ) Ġ: ĠComparable < Level > Ġ{ ĊĠĠĠ ĠDEBUG ( 0 ), ĠINFO ( 1 ), ĠWARN ( 2 ), ĠERROR ( 3 ), ĠSYSTEM ( 4 ) Ċ } Ċ