Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在下面的方法中将printStackTrace替换为log.error_Javascript_Java_Log4j_Log4j2_Printstacktrace - Fatal编程技术网

Javascript 如何在下面的方法中将printStackTrace替换为log.error

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

请建议我如何用log.error替换printstacktace行

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,则无需单独记录它。