Log4j使用错误方法

时间:2015-10-12 15:32:10

标签: jsp logging methods log4j

从我读过的内容来看,您需要在代码中确实知道哪里出现错误才能记录该错误?

致命错误怎么办?我究竟应该知道致命错误发生在哪里,为什么我不修改代码呢? 0_o

1 个答案:

答案 0 :(得分:0)

错误处理是一个很大的主题,但是如果你使用try catch块,那么你可以记录错误。例如:

private static final Logger log = LogManager.getLogger("myLog");

public void method() {
    try {
        doStuff(m, s);
    }
    catch (Exception e) {
        log.error("ERROR: this is bad" );
        errorHandler(e); // send the error to where we handle all runtime errors

        // Print the stack
        StringWriter errors = new StringWriter();
        e.printStackTrace(new PrintWriter(errors));
        System.out.println("ERROR: " + errors);
    }
}

在这种情况下,代码将继续经过catch块而不会停止。它只会记录。但是,如果发生致命错误,那么您的代码将无法正常运行,并且应停止

另一件事是,在您的errorHandler代码中,您可以安排播放声音,发送电子邮件,更新监控系统等,以便您知道发生了什么。