From a81808d821b1a6095026b828390ead02c0efbf04 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Wed, 4 Sep 2019 12:36:44 +0200 Subject: [PATCH] [Fix] Always use \n in ExceptionHelper.formatException() --- .../strolch/utils/helper/ExceptionHelper.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java b/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java index 904adb144..5da62203d 100644 --- a/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java +++ b/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java @@ -15,9 +15,14 @@ */ package li.strolch.utils.helper; +import static li.strolch.utils.helper.XmlHelper.PROP_LINE_SEPARATOR; +import static li.strolch.utils.helper.XmlHelper.UNIX_LINE_SEP; + import java.io.PrintWriter; import java.io.StringWriter; +import li.strolch.utils.RemoveCRFilterWriter; + /** * @author Robert von Burg <eitch@eitchnet.ch> */ @@ -74,10 +79,18 @@ public class ExceptionHelper { * @return a string representation of the given {@link Throwable}'s stack trace */ public static String formatException(Throwable t) { - StringWriter stringWriter = new StringWriter(); - PrintWriter writer = new PrintWriter(stringWriter); - t.printStackTrace(writer); - return stringWriter.toString(); + String ls = System.getProperty(PROP_LINE_SEPARATOR); + if (!ls.equals(UNIX_LINE_SEP)) + System.setProperty(PROP_LINE_SEPARATOR, UNIX_LINE_SEP); + try { + StringWriter stringWriter = new StringWriter(); + PrintWriter writer = new PrintWriter(new RemoveCRFilterWriter(stringWriter)); + t.printStackTrace(writer); + return stringWriter.toString(); + } finally { + if (!ls.equals(UNIX_LINE_SEP)) + System.setProperty(PROP_LINE_SEPARATOR, ls); + } } /**