是否有java库可用于生成重播日志,以便应用程序可以重播日志文件中的实际错误
考虑一个发生java应用程序错误的场景,您只能看到异常堆栈跟踪。现在,如果您可以以某种方式重新创建此问题并打开replay日志,那么使用此replay日志文件注入与异常发生时完全相同的状态。我想知道是否有一个现有的java库可以用来做这样的事情。还是说我的应用程序必须设计成能够满足这些要求是否有java库可用于生成重播日志,以便应用程序可以重播日志文件中的实际错误,java,logging,Java,Logging,考虑一个发生java应用程序错误的场景,您只能看到异常堆栈跟踪。现在,如果您可以以某种方式重新创建此问题并打开replay日志,那么使用此replay日志文件注入与异常发生时完全相同的状态。我想知道是否有一个现有的java库可以用来做这样的事情。还是说我的应用程序必须设计成能够满足这些要求 例如,考虑下面的类和输出。 现在,在解析输出并使用反射之后,我可以准确地重播div by 0场景 那么想知道是否有一个现有的java库提供这种功能 public class MyClass { /*
例如,考虑下面的类和输出。 现在,在解析输出并使用反射之后,我可以准确地重播div by 0场景
那么想知道是否有一个现有的java库提供这种功能public class MyClass {
/**
* @param args
*/
public static void main(String[] args) {
MyClass myClass = new MyClass();
//Scenario 1
int div1 = myClass.div(1,2);
int div2 = myClass.div(1,0);
}
public int div(int firstArg,int secondArg){
log(firstArg + "," + secondArg);
return firstArg / secondArg;
}
private void log(String args){
StringBuffer sb = new StringBuffer();
sb.append("\nClass " + getClass().getName());
sb.append(" Method " + getMethodName(1));
sb.append(" Args " + args);
System.out.println("LOG # " + sb.toString());
}
// picked from http://stackoverflow.com/questions/442747/getting-the-name-of-the-current-executing-method
public static String getMethodName(final int depth)
{
final StackTraceElement[] ste = Thread.currentThread().getStackTrace();
return ste[ste.length - 1 - depth].getMethodName(); //Thank you Tom Tresansky
}
}
**
**CChronon是解决方案。
对于Chronon,您必须购买许可证。或者您可以免费使用带有intellij idea ultimate的Chronon插件
是你的解决方案 请阅读帮助中心。@SotiriosDelimanolis-如果不是编程问题?那我可以把这个问题放在哪里?我不知道,但不在这里。您可以修改它以符合政策。@SotiriosDelimanolis-我添加了一个我正在寻找的wht示例,并想知道是否有现有的库提供类似或更好的内容?我希望这个问题现在符合stackoverflow的条件?
LOG #
Class MyClass Method div Args 1,2
Exception in thread "main" LOG #
Class MyClass Method div Args 1,0
java.lang.ArithmeticException: / by zero
at MyClass.div(MyClass.java:19)
at MyClass.main(MyClass.java:12)