我正在考虑为我的Java应用程序创建一个调试工具.
我想知道是否有可能获得堆栈跟踪,就像Exception.printStackTrace()没有实际抛出异常一样?
我的目标是,在任何给定的方法中,转储堆栈以查看方法调用者是谁.
假设我有一个类如下所示的方法
public class Parent {
public boolean isValidURL() {
System.out.println("print the name of the caller method and the method's arguements here");
//pls ignore the return true below. just an eg.
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有另一个方法调用父类中的isValidURL
public class Child {
Parent parent = new Parent();
public void verifyURL(String url) {
parent.isValidURL();
}
}
Run Code Online (Sandbox Code Playgroud)
现在在Parent类中,该方法isValidURL()应该打印调用方法verifyURL()及其参数.
没有反思可能吗?是否有需要遵循的设计模式?
编辑:我想这样做,因为我想在记录器上实现这个想法.基本上,还有许多其他方法,例如verifyURL()接受不同参数的方法.当调用`Child'类中的任何方法时,我想有一个通用记录器在控制台上打印它
我正在寻找一种获取System.out.println文本并将其保存在.txt文件中的方法,例如:
System.out.println("Java vendor: " + System.getProperty("java.vendor"));
System.out.println("Operating System architecture: " + System.getProperty("os.arch"));
System.out.println("Java version: " + System.getProperty("java.version"));
System.out.println("Operating System: " + System.getProperty("os.name"));
System.out.println("Operating System Version: " + System.getProperty("os.version"));
System.out.println("Java Directory: " + System.getProperty("java.home"));
Run Code Online (Sandbox Code Playgroud)
我想要输出一个.txt文件,有什么想法吗?谢谢