package Ġcn . trans 8 8 . ku ro tool . util Ċ Ċ import Ġandroid . os . Environment Ċ import Ġandroid . util . Log Ċ import Ġjava . io . File Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ object ĠLog Util Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġcurrent _ level Ġ= ĠLogLevel . Null ĊĠĠĠ Ġprivate Ġvar Ġwrite _ to _ file Ġ= false ĊĠĠĠ Ġprivate Ġvar ĠTAG =" Log Util " ĊĠĠĠ Ġprivate Ġvar Ġlog File Ġ= ĠEnvironment . get External Storage Directory () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æĺ¾ç¤º æĹ¥å¿Ĺ çļĦ çŃī çº§ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠsetShow Level ( level : ĠLogLevel ){ ĊĠĠĠĠĠĠĠ Ġcurrent _ level Ġ= level ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® tag ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Tag ( tag : ĠString ){ ĊĠĠĠĠĠĠĠ ĠTAG Ġ= tag ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æĺ¯åĲ¦ èĥ½ åĨĻåħ¥ æĹ¥å¿Ĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Log Write Enable ( boolean : ĠBoolean ): Log Util { ĊĠĠĠĠĠĠĠ Ġwrite _ to _ file Ġ= boolean ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æĹ¥å¿Ĺ æĺ¯åĲ¦ åĨĻåħ¥ æĸĩä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Log WriteFile ( file : ĠFile ): Log Util { ĊĠĠĠĠĠĠĠ Ġlog File Ġ= file ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġv ( msg : String , tag : String = TAG ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( current _ level Ġ>= ĠLogLevel . V ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v ( tag , msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġd ( msg : String , tag : String = TAG ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( current _ level Ġ>= ĠLogLevel . D ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( tag , msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġi ( msg : String , tag : String = TAG ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( current _ level Ġ>= ĠLogLevel . I ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( tag , msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġw ( msg : String , tag : String = TAG ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( current _ level Ġ>= ĠLogLevel . W ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( tag , msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġe ( msg : String , tag : String = TAG ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( current _ level Ġ>= ĠLogLevel . E ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( tag , msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwrite Log ToFile ( logLevel : ĠLogLevel , msg : ĠString , tag : ĠString Ġ= ĠTAG ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( write _ to _ file ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread Util . execute By Pool ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ĠHH : mm : ss : SSSS ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformat String Ġ= Ġsimple DateFormat . format ( Date ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠlogMessage Ġ=" æĹ¶éĹ´ ï¼ļ $ format String , æĹ¥å¿Ĺ çŃī çº§ : Ġ${ logLevel . name } Ġtag : Ġ$ tag Ġ, msg Ġ: $ msg Ġ\ n " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( log File . path ). append Text ( log Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }