From 81968b23250a97bc3142785f669fff82abb94289 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Fri, 4 Mar 2011 11:21:20 -0800 Subject: [PATCH] Add string util function to retrieve exception info Conflicts: utils/src/com/cloud/utils/StringUtils.java --- utils/src/com/cloud/utils/StringUtils.java | 51 ++++++++++++++-------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/utils/src/com/cloud/utils/StringUtils.java b/utils/src/com/cloud/utils/StringUtils.java index b055fd6d834..a6d338932ec 100644 --- a/utils/src/com/cloud/utils/StringUtils.java +++ b/utils/src/com/cloud/utils/StringUtils.java @@ -1,21 +1,21 @@ -/** - * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. - * - * This software is licensed under the GNU General Public License v3 or later. - * - * It is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - +/** + * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. + * + * This software is licensed under the GNU General Public License v3 or later. + * + * It is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + package com.cloud.utils; import java.util.Iterator; @@ -38,4 +38,19 @@ public class StringUtils { } return sb.toString(); } + public static String getExceptionStackInfo(Throwable e) { + StringBuffer sb = new StringBuffer(); + + sb.append(e.toString()).append("\n"); + StackTraceElement[] elemnents = e.getStackTrace(); + for(StackTraceElement element : elemnents) { + sb.append(element.getClassName()).append("."); + sb.append(element.getMethodName()).append("("); + sb.append(element.getFileName()).append(":"); + sb.append(element.getLineNumber()).append(")"); + sb.append("\n"); + } + + return sb.toString(); + } }