如果程序突然退出或有任何异常,我需要记录日志。例如,当某人在运行程序时按Ctrl+C
时,我需要记录它突然退出。我怎么能这样做?
答案 0 :(得分:10)
您可以尝试使用shutdown hook。从文档中,钩子将在以下情况下执行:
这涵盖了您的^C
情况,但无疑会涵盖机器被拔出的情况(除非机器上有某种冗余硬件)。
Here是关于设计的一些注释。
原油示例:
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("System was shutdown");
}
});