使用Spring AOP并在日志文件中获取相应的类名

时间:2016-07-21 04:37:49

标签: spring log4j spring-aop

我使用Spring AOP进行日志记录。一切正常,但在日志中我只得到Aspect类的名称。我想要打印类的相应名称。这是代码片段。以下代码需要进行哪些更改才能满足我的要求。

private static final Logger logger = Logger.getLogger(LogginAspect.class);

@After(“执行(* com.app.c2pc .. (..))”)     public void logAfter(JoinPoint joinPoint){

<action method="addItem">
    <type>skin_css</type>
    <name>css/madisonisland.css</name>
    <params/>
    <if><![CDATA[<!--[if (gte IE 9) | (IEMobile)]><!-->]]></if> <!-- SEE THIS? -->
</action>

这是我在日志文件中得到的o / p: -

2016-07-20 23:41:20 | | INFO LogginAspect:23 - 执行方法后:checkSubmitEvalFlag 2016-07-20 23:41:20 | | INFO LogginAspect:24 - ********************************************* ****************************** 2016-07-20 23:41:20 | | INFO LogginAspect:70 - 方法:checkSubmitEvalFlag返回值为:0 2016-07-20 23:41:20 | | INFO LogginAspect:40 - 输入类com.app.c2pc.scie.daoImpl.PbdDAOImpl $$ EnhancerBySpringCGLIB $$ 688f6ece使用方法名称getBackUpUserDetails 2016-07-20 23:41:20 | | INFO LogginAspect:45 - 1:参数名称:com.app.c2pc.scie.bean.SearchCriteriaBean@77ef5b02

1 个答案:

答案 0 :(得分:-1)

您可以使用“joinPoint.getTarget()。getClass()。getName()”来获取完全限定的类名,例如“ com.abc.pqr.MyClass

您可以使用“ joinPoint.getTarget()。getClass()。getSimpleName()”来获取类名“ MyClass ”。