相关疑难解决方法(0)

如何获取方法的行号?

是否可以使用反射或其他魔法获取方法的行号?
如果方法在当前Stacktrace内,则可能.使用Thread.currentThread().getStackTrace(),可以获得一个的行号StackTraceElement.但是如果我只有java.lang.reflect.Method对象,我该怎么办?

我发现这个,对于classes-> 如何从java.lang.Class对象获取源文件名/行号,但它对方法没用.

java reflection

15
推荐指数
2
解决办法
9851
查看次数

Java有没有办法获取当前文件名和当前行号?

在C++中,源代码的文件和当前行号是由FILEINLINE决定的,这是在编译时决定的,Java中有没有任何方法可以做类似的事情?文件和行号是在编译时而不是运行时决定的?这样对于日志来说会很方便。我有点怀疑使用运行时方法来检测这些信息会降低性能。

java logging file

6
推荐指数
1
解决办法
2972
查看次数

Spring Aop日志记录行号不正确

我正在使用spring aop来为我的应用程序进行日志记录:我之前和之后都有配置的建议,但是我看到的行号不是目标类,而是用于记录的类的行如何解决这个问题下面是我的配置

Spring xml:

<aop:aspectj-autoproxy proxy-target-class="false" />
Run Code Online (Sandbox Code Playgroud)

用于记录的类:

package com.digilegal.services.ahc.logging;

import java.lang.reflect.Modifier;
import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;

@Aspect
public class AHCLogging {

    @Before("execution(* com.digilegal.services..*.*(..))")
    public void logBefore(JoinPoint joinPoint) {

        Logger log = Logger.getLogger(joinPoint.getTarget().getClass());
        MethodSignature signature = (MethodSignature) joinPoint.getSignature();

        if (!Modifier.isPrivate(signature.getModifiers())
                && !signature.getName().startsWith("get")
                && !signature.getName().startsWith("set")
                && !signature.getName().startsWith("is")) {
            log.trace("ENTER METHOD ::"
                    + signature.getReturnType().getSimpleName() + " "
                    + signature.getName() + "("
                    + paramterType(signature.getParameterTypes()) + ")");
        }

    }

    @After("execution(* com.digilegal.services..*.*(..))") …
Run Code Online (Sandbox Code Playgroud)

logging aop spring

1
推荐指数
1
解决办法
964
查看次数

标签 统计

java ×2

logging ×2

aop ×1

file ×1

reflection ×1

spring ×1