1.1 --- a/java/sql-dk/src/info/globalcode/sql/dk/logging/ColorfulConsoleFormatter.java Wed Dec 25 01:23:27 2013 +0100
1.2 +++ b/java/sql-dk/src/info/globalcode/sql/dk/logging/ColorfulConsoleFormatter.java Wed Dec 25 02:04:57 2013 +0100
1.3 @@ -32,13 +32,15 @@
1.4 */
1.5 public class ColorfulConsoleFormatter extends Formatter {
1.6
1.7 + private boolean printStacktrace = false;
1.8 +
1.9 @Override
1.10 public String format(LogRecord r) {
1.11 StringWriter sw = new StringWriter();
1.12 try (ColorfulPrintWriter out = new ColorfulPrintWriter(sw)) {
1.13 printLevel(out, r.getLevel());
1.14 printMessage(out, r);
1.15 - printThrowable(out, r.getThrown());
1.16 + printThrowable(out, r);
1.17 out.println();
1.18 }
1.19 return sw.toString();
1.20 @@ -46,7 +48,6 @@
1.21
1.22 private void printLevel(ColorfulPrintWriter out, Level l) {
1.23 TerminalColor color = TerminalColor.Magenta;
1.24 - TerminalStyle style;
1.25
1.26 if (l == Level.SEVERE) {
1.27 color = TerminalColor.Red;
1.28 @@ -61,7 +62,8 @@
1.29 out.print(formatMessage(r));
1.30 }
1.31
1.32 - private void printThrowable(ColorfulPrintWriter out, Throwable t) {
1.33 + private void printThrowable(ColorfulPrintWriter out, LogRecord r) {
1.34 + Throwable t = r.getThrown();
1.35 if (t != null) {
1.36 out.print(": ");
1.37 out.print(TerminalColor.Red, t.getClass().getSimpleName());
1.38 @@ -70,6 +72,21 @@
1.39 out.print(": ");
1.40 out.print(message);
1.41 }
1.42 + if (printStacktrace) {
1.43 + out.println();
1.44 + out.setForegroundColor(TerminalColor.Yellow);
1.45 + out.setStyle(TerminalStyle.Dim);
1.46 + t.printStackTrace(out);
1.47 + out.resetAll();
1.48 + }
1.49 }
1.50 }
1.51 +
1.52 + public boolean isPrintStacktrace() {
1.53 + return printStacktrace;
1.54 + }
1.55 +
1.56 + public void setPrintStacktrace(boolean printStacktrace) {
1.57 + this.printStacktrace = printStacktrace;
1.58 + }
1.59 }