package Ġcom . le ov p . leo android base util . basic _ components . examples . log Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . le ov p . leo android base util . Build Config Ċ import Ġcom . tencent . mars . x log . Log Ċ import Ġcom . tencent . mars . x log . X log Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠAuthor : ĠMichael ĠLe o Ċ Ġ* ĠDate : Ġ 2 0 - 4 - 2 0 Ġä¸Ĭ åįĪ 1 1 : 3 9 Ċ Ġ*/ Ċ @ Suppress (" unused ") Ċ class ĠC Log Ġ: Ġcom . le ov p . log _ sdk . base . I Log Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdebug Mode Ġ= ĠBuild Config . DEBUG ĊĊĠĠĠ Ġoverride Ġfun Ġget TagName ( tag : ĠString ) Ġ= Ġ" LE O -$ tag " ĊĊĠĠĠ Ġoverride Ġvar Ġenable Log Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġprint Verb Log ( tag : ĠString , Ġmessage : ĠString , Ġoutput Type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . v ( tag , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint Debug Log ( tag : ĠString , Ġmessage : ĠString , Ġoutput Type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( tag , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint Info Log ( tag : ĠString , Ġmessage : ĠString , Ġoutput Type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( tag , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint Warn Log ( tag : ĠString , Ġmessage : ĠString , Ġoutput Type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . w ( tag , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint Error Log ( tag : ĠString , Ġmessage : ĠString , Ġoutput Type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( tag , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint Fatal Log ( tag : ĠString , Ġmessage : ĠString , Ġoutput Type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . f ( tag , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ================= ============= ĊĊĠĠĠ Ġprivate Ġfun Ġget Log Dir ( ctx : ĠContext , Ġbase Folder Name : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġget Base Dir String ( ctx , Ġbase Folder Name ) Ġ+ ĠFile . separator Ġ+ Ġ" log " ĊĠĠĠĠĠĠĠ Ġval Ġdir Ġ= ĠFile ( builder ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! dir . exists ()) Ġdir . mkdir s () ĊĠĠĠĠĠĠĠ Ġreturn Ġdir ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" We aker Access ") ĊĠĠĠ Ġprivate Ġfun Ġget Base Dir String ( ctx : ĠContext , Ġbase Folder Name : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġctx . get External Files Dir ( null )?. let Ġ{ Ġit . absolute Path Ġ+ ĠFile . separator Ġ+ Ġbase Folder Name Ġ} Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . load Library (" c ++ _ shared ") ĊĠĠĠĠĠĠĠ ĠSystem . load Library (" mar sx log ") ĊĊĠĠĠĠĠĠĠ Ġval Ġlog Dir Ġ= Ġget Log Dir ( context , Ġ" x log "). absolute Path ĊĠĠĠĠĠĠĠ Ġval Ġcache Dir Ġ= Ġget Log Dir ( context , Ġ" x - cache - dir "). absolute Path ĊĠĠĠĠĠĠĠ Ġval Ġdefault LogLevel Ġ= Ġif Ġ( debug Mode ) ĠX log . LEVEL _ VERBOSE Ġelse ĠX log . LEVEL _ INFO ĊĊĠĠĠĠĠĠĠ ĠLog . set Log Imp ( X log ()) ĊĠĠĠĠĠĠĠ ĠLog . set Console Log Open ( debug Mode ) ĊĠĠĠĠĠĠĠ ĠLog . appender Open ( default LogLevel , ĠX log . App ed ner Mode Async , Ġcache Dir , Ġlog Dir , Ġ" main ", Ġ 0 ) Ċ Ċ // ĠĠĠĠĠĠĠ Ġ// ĠNow , Ġthere Ġis Ġno Ġway Ġto Ġuse Ġthis ĠX Log Config . ĠProbably Ġthis Ġis Ġa ĠX log Ġbug . Ċ // ĠĠĠĠĠĠĠ Ġval Ġlog Config Ġ= ĠX log . X Log Config () Ċ // ĠĠĠĠĠĠĠ Ġlog Config . mode Ġ= ĠX log . App ed ner Mode Async Ċ // ĠĠĠĠĠĠĠ Ġlog Config . log dir Ġ= Ġlog Dir . absolute Path Ċ // ĠĠĠĠĠĠĠ Ġlog Config . name prefix Ġ= Ġ" main " Ċ // ĠĠĠĠĠĠĠ Ġlog Config . pubkey Ġ= Ġif Ġ( debug Mode ) Ġ"" Ġelse Ġcontext . packageName Ċ // ĠĠĠĠĠĠĠ Ġlog Config . compress mode Ġ= ĠX log . Z LIB _ MODE Ċ // ĠĠĠĠĠĠĠ Ġlog Config . compress level Ġ= Ġ 0 Ċ // ĠĠĠĠĠĠĠ Ġlog Config . cache dir Ġ= Ġcache Dir . absolute Path Ċ // ĠĠĠĠĠĠĠ Ġlog Config . cache days Ġ= Ġ 5 Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( debug Mode ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlog Config . level Ġ= ĠX log . LEVEL _ VERBOSE Ċ // ĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlog Config . level Ġ= ĠX log . LEVEL _ INFO Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ ĠLog . set Log Imp ( X log (). apply Ġ{ Ġset Console Log Open ( 0 , Ġdebug Mode ) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġflush Log ( is Sync : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . appender Flush Sync ( is Sync ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclose Log () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . appender Close () ĊĠĠĠ Ġ} Ċ }