java来电,Java中的来电者信息

在C#中我们有来电信息

public void DoProcessing()

{

TraceMessage("Something happened.");

}

public void TraceMessage(string message,

[System.Runtime.CompilerServices.CallerMemberName] string memberName = "",

[System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath = "",

[System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0)

{

System.Diagnostics.Trace.WriteLine("message: " + message);

System.Diagnostics.Trace.WriteLine("member name: " + memberName);

System.Diagnostics.Trace.WriteLine("source file path: " + sourceFilePath);

System.Diagnostics.Trace.WriteLine("source line number: " + sourceLineNumber);

}

// Sample Output:

// message: Something happened.

// member name: DoProcessing

// source file path: c:\Users\username\Documents\Visual Studio 2012\Projects\CallerInfoCS\CallerInfoCS\Form1.cs

// source line number: 31MSDN链接:CallerInfo

我想知道Java是否具有等效的注释?

这些功能可以帮助我们更好地追踪

更新:

我写了一堂课:

public class Trace {

public static void trace() {

StackTraceElement[] stk = Thread.currentThread().getStackTrace();

System.out.println(String.format("LineNumber : %s, ClassName : %s, MethodName : %s, SourceLocation : %s",

stk[1].getLineNumber(), stk[1].getClassName(), stk[1].getMethodName(), stk[1].getFileName())

);

}

}和Call tr​​ace()方法:

public class Main {

public static void main(String[] args) throws Exception {

Trace.trace();

}

}和结果:

LineNumber : 8, ClassName : Trace, MethodName : trace, SourceLocation : Trace.java对我来说这不是真的我想要一个像这样的结果:

LineNumber : 3, ClassName : Main, MethodName : main, SourceLocation : Main.java实际上,我想现在如何调用我的trace()(父类)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值