/** Ċ Ġ* Ġ********************************************************* ** Ċ Ġ* ĠCopyright , Ġ 2 0 2 0 , ĠOpen ĠR aven ĠInc . Ċ Ġ* ĠAP ACHE ĠLICENSE , ĠVERSION Ġ 2 . 0 Ċ Ġ* Ġhttps :// www . open r aven . com / legal / apache - 2 - license Ċ Ġ* Ġ********************************************************* Ċ Ġ*/ Ċ package Ġcom . open r aven . m im ir . helpers Ċ Ċ import Ġorg . aspect j . lang . Pro ceeding Join Point Ċ import Ġorg . aspect j . lang . annotation . Around Ċ import Ġorg . aspect j . lang . annotation . Aspect Ċ import Ġorg . aspect j . lang . annotation . Point cut Ċ import Ġorg . slf 4 j . LoggerFactory . getLogger Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġjava . util . Arrays Ċ Ċ @ Aspect Ċ @ Component Ċ class ĠLogging Aspect Ġ{ ĊĠĠĠ Ġ@ Suppress (" Unused ") ĊĠĠĠ Ġ@ Point cut (" within ( com . open r aven . m im ir . services .. *) Ġ|| Ġwithin ( com . open r aven . m im ir . controllers .. *) ") ĊĠĠĠ Ġfun Ġdata Discovery Point Cut () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" Unused ") ĊĠĠĠ Ġ@ Point cut (" within ( com . open r aven . m im ir . helpers .. *) Ġ|| Ġwithin ( com . open r aven . m im ir . properties .. *) ") ĊĠĠĠ Ġfun Ġhelper Discovery Point Cut () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Around (" data Discovery Point Cut () ") ĊĠĠĠ Ġ@ Throws ( Throwable :: class ) ĊĠĠĠ Ġfun Ġlog Info Around ( join Point : ĠPro ceeding Join Point ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Ġ= Ġget Logger ( join Point . signature . decl aring TypeName ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( log . is Info Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Enter : Ġ{} () Ġwith Ġargument [ s ] Ġ= Ġ{}", Ġjoin Point . signature . name , ĠArrays . toString ( join Point . args ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult : ĠAny Ġ= Ġjoin Point . proceed () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( log . is Info Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Exit : Ġ{} () Ġwith Ġresult Ġ= Ġ{}", Ġjoin Point . signature . name , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" Illegal Ġargument : Ġ{} Ġin Ġ{} ()", ĠArrays . toString ( join Point . args ), Ġjoin Point . signature . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Around (" helper Discovery Point Cut () ") ĊĠĠĠ Ġ@ Throws ( Throwable :: class ) ĊĠĠĠ Ġfun Ġlog Debug Around ( join Point : ĠPro ceeding Join Point ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Ġ= Ġget Logger ( join Point . signature . decl aring TypeName ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( log . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Enter : Ġ{} () Ġwith Ġargument [ s ] Ġ= Ġ{}", Ġjoin Point . signature . name , ĠArrays . toString ( join Point . args ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult : ĠAny Ġ= Ġjoin Point . proceed () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( log . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" Exit : Ġ{} () Ġwith Ġresult Ġ= Ġ$ result ", Ġjoin Point . signature . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" Illegal Ġargument : Ġ{} Ġin Ġ{} ()", ĠArrays . toString ( join Point . args ), Ġjoin Point . signature . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ