18
18
*/
19
19
package org .neo4j .driver .internal .logging ;
20
20
21
+ import java .io .PrintWriter ;
22
+ import java .io .StringWriter ;
21
23
import java .time .LocalDateTime ;
22
24
import java .util .Objects ;
23
25
import java .util .logging .ConsoleHandler ;
@@ -70,14 +72,14 @@ public ConsoleLogger( String name, Level level )
70
72
}
71
73
72
74
handler = new ConsoleHandler ();
73
- handler .setFormatter ( new ShortFormatter () );
75
+ handler .setFormatter ( new ConsoleFormatter () );
74
76
handler .setLevel ( level );
75
77
logger .addHandler ( handler );
76
78
logger .setLevel ( level );
77
79
}
78
80
}
79
81
80
- private static class ShortFormatter extends Formatter
82
+ private static class ConsoleFormatter extends Formatter
81
83
{
82
84
@ Override
83
85
public String format ( LogRecord record )
@@ -86,7 +88,23 @@ public String format( LogRecord record )
86
88
record .getLevel () + " " +
87
89
record .getLoggerName () + " - " +
88
90
formatMessage ( record ) +
91
+ formatThrowable ( record .getThrown () ) +
89
92
"\n " ;
90
93
}
94
+
95
+ private String formatThrowable ( Throwable throwable )
96
+ {
97
+ String throwableString = "" ;
98
+ if ( throwable != null )
99
+ {
100
+ StringWriter sw = new StringWriter ();
101
+ PrintWriter pw = new PrintWriter ( sw );
102
+ pw .println ();
103
+ throwable .printStackTrace ( pw );
104
+ pw .close ();
105
+ throwableString = sw .toString ();
106
+ }
107
+ return throwableString ;
108
+ }
91
109
}
92
110
}
0 commit comments