|
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,22 +72,33 @@ 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 )
|
84 | 86 | {
|
| 87 | + String throwable = ""; |
| 88 | + if ( record.getThrown() != null ) |
| 89 | + { |
| 90 | + StringWriter sw = new StringWriter(); |
| 91 | + PrintWriter pw = new PrintWriter( sw ); |
| 92 | + pw.println(); |
| 93 | + record.getThrown().printStackTrace( pw ); |
| 94 | + pw.close(); |
| 95 | + throwable = sw.toString(); |
| 96 | + } |
85 | 97 | return LocalDateTime.now().format( ISO_LOCAL_DATE_TIME ) + " " +
|
86 | 98 | record.getLevel() + " " +
|
87 | 99 | record.getLoggerName() + " - " +
|
88 | 100 | formatMessage( record ) +
|
| 101 | + throwable + |
89 | 102 | "\n";
|
90 | 103 | }
|
91 | 104 | }
|
|
0 commit comments