Javascript 如何在下面的方法中将printStackTrace替换为log.error
请建议我如何用log.error替换printstacktace行Javascript 如何在下面的方法中将printStackTrace替换为log.error,javascript,java,log4j,log4j2,printstacktrace,Javascript,Java,Log4j,Log4j2,Printstacktrace,请建议我如何用log.error替换printstacktace行 public class extends Throwable { private Throwable _prev; public synchronized Throwable getPrevThrowable() { return _prev; } public void printStackTrace(PrintStream ps) { supe
public class extends Throwable {
private Throwable _prev;
public synchronized Throwable getPrevThrowable() {
return _prev;
}
public void printStackTrace(PrintStream ps) {
super.printStackTrace(ps);
Throwable t;
if ((t = getPrevThrowable()) != null) {
t.printStackTrace(ps);
}
}
我可以像下面那样实现它吗
public class extends Throwable {
public void printStackTrace(PrintStream ps) {
log.error(ps);
Throwable t;
if ((t = getPrevThrowable()) != null) {
log.error(t);
}
}
我不确定getPrevThrowable()做什么,但您可以做
Throwable t;
if ((t = getPrevThrowable()) != null {
logger.error("", t);
}
只需将异常传递给记录器。您正在使用的日志框架应该提供有关这方面的文档。谢谢您,super.printStackTrace()行怎么样?它怎么样?首先,不可能知道super.printStackTrace()的作用是什么,因为您还没有确定这是什么类或它扩展了什么。您询问了如何将printStackTrace行替换为logging to error。这就是它在不知道任何其他事情的情况下所做的。如果我们假设这是一个Throwable(这是一个拉伸,因为getPrevThrowable()不是Throwable方法),那么您将使用logger.error(“,this”)。但是如果前一个Throwable链接到当前Throwable,则无需单独记录它。