diff --git a/src/main/java/fr/xephi/authme/util/StringUtils.java b/src/main/java/fr/xephi/authme/util/StringUtils.java index f0dd3d9ce..c5d34c578 100644 --- a/src/main/java/fr/xephi/authme/util/StringUtils.java +++ b/src/main/java/fr/xephi/authme/util/StringUtils.java @@ -4,6 +4,9 @@ import net.ricecode.similarity.LevenshteinDistanceStrategy; import net.ricecode.similarity.StringSimilarityService; import net.ricecode.similarity.StringSimilarityServiceImpl; +import java.io.PrintWriter; +import java.io.StringWriter; + /** * Utility class for String operations. */ @@ -84,4 +87,22 @@ public class StringUtils { return sb.toString(); } + /** + * Get a full stack trace of an exception as a string. + * + * @param exception The exception. + * + * @return Stack trace as a string. + */ + public static String getStackTrace(Exception exception) { + // Create a string and print writer to print the stack trace into + StringWriter stringWriter = new StringWriter(); + PrintWriter printWriter = new PrintWriter(stringWriter); + + // Print the stack trace into the print writer + exception.printStackTrace(printWriter); + + // Return the result as a string + return stringWriter.toString(); + } }