阅读量:114
要打印Java堆栈信息,可以使用以下方法:
- 使用Throwable的printStackTrace()方法:
try {
// 代码块
} catch (Exception e) {
e.printStackTrace();
}
- 使用Logger记录堆栈信息:
import java.util.logging.Logger;
Logger logger = Logger.getLogger("LoggerName");
try {
// 代码块
} catch (Exception e) {
logger.severe("Exception occurred: " + e.getMessage());
for (StackTraceElement element : e.getStackTrace()) {
logger.severe(element.toString());
}
}
- 使用SLF4J记录堆栈信息:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger logger = LoggerFactory.getLogger("LoggerName");
try {
// 代码块
} catch (Exception e) {
logger.error("Exception occurred: " + e.getMessage());
for (StackTraceElement element : e.getStackTrace()) {
logger.error(element.toString());
}
}
- 使用Apache Commons Logging记录堆栈信息:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Log log = LogFactory.getLog("LoggerName");
try {
// 代码块
} catch (Exception e) {
log.error("Exception occurred: " + e.getMessage());
for (StackTraceElement element : e.getStackTrace()) {
log.error(element.toString());
}
}