/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠRe ece ĠH . ĠD un n Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġuk . co . re ec ed un n . intellij . plugin . exist db . log Ċ Ċ import Ġcom . intellij . execution . ui . Console View Ċ import Ġcom . intellij . execution . ui . Console View ContentType Ċ import Ġuk . co . re ec ed un n . intellij . plugin . processor . log . LogFile ContentType Ċ Ċ object ĠLog 4 J Default EX ist DB Pattern Ġ: ĠLog 4 J Pattern Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġparse ( line : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= ĠLOG _ LINE _ RE . find ( line )?. group Values Ġ?: Ġreturn Ġline ĊĠĠĠĠĠĠĠ Ġreturn ĠLog 4 J Log Line ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 1 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 2 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 3 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 4 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 5 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 6 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 7 ]. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ 8 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprint ( console View : ĠConsole View , Ġline : ĠLog 4 J Log Line ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconsole View . print ("${ line . date } Ġ${ line . time }", ĠLog File ContentType . DATE _ TIME ) ĊĠĠĠĠĠĠĠ Ġconsole View . print (" Ġ[ ", ĠConsole View ContentType . NORMAL _ OUTPUT ) ĊĠĠĠĠĠĠĠ Ġconsole View . print ( line . thread , ĠLog File ContentType . THREAD ) ĊĠĠĠĠĠĠĠ Ġconsole View . print (" ] Ġ", ĠConsole View ContentType . NORMAL _ OUTPUT ) ĊĠĠĠĠĠĠĠ Ġconsole View . print ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ line . logLevel . pad End ( 5 )} Ġ(${ line . filename } Ġ[ ${ line . method } ]: ${ line . line }) Ġ- Ġ${ line . message }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġline . contentType ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" RegExp Anonymous Group ", Ġ" RegExp Repeated Space ") ĊĠĠĠ Ġprivate Ġval ĠLOG _ LINE _ RE Ġ= Ġ""" ^ ĊĠĠĠĠĠĠĠ Ġ([ 0 - 9 \\ - ]+) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 1 : ĠDate ĊĠĠĠĠĠĠĠ Ġ\ s ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ([ 0 - 9 : ., ]+) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 2 : ĠTime ĊĠĠĠĠĠĠĠ Ġ\ s ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ\[ ([^ ]] + )] ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 3 : ĠThread ĊĠĠĠĠĠĠĠ Ġ\ s ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ([ A - Za - z ]+) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 4 : ĠLog ĠLevel ĊĠĠĠĠĠĠĠ Ġ\ s + ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ\( ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ([ ^\ s ]+) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 5 : ĠFilename ĊĠĠĠĠĠĠĠ Ġ\ s ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ\[ ([^ ]] + )] : ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 6 : ĠMethod ĊĠĠĠĠĠĠĠ Ġ([ 0 - 9 ]+) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 7 : ĠLine ĊĠĠĠĠĠĠĠ Ġ\) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ\ s -\ s ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# ĊĠĠĠĠĠĠĠ Ġ( .* ) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġ 8 : ĠMessage ĊĠĠĠ Ġ${ '$ '} """. to Regex ( Regex Option . COMMENTS ) Ċ } Ċ