Java中有没有办法通过反射或一些很棒的API动态获取当前行号?就像发生异常时一样,行号会在堆栈跟踪中打印出来,如下所示:
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
现在有没有办法像下面的代码一样打印或登录?
log.error("Error in: " + this.getClass.getName() + "at line #"+ this.getClass.getActualLine());
你可能会问,我为什么不直接打印行号呢?好吧,因为代码可能会在特定的 log.error() 方法调用之前被删除或添加。