@@ -7,6 +7,7 @@ import 'dart:io';
77import 'package:logging/logging.dart' ;
88import 'package:shelf/shelf.dart' ;
99import 'package:shelf_static/shelf_static.dart' ;
10+ import 'package:stack_trace/stack_trace.dart' ;
1011
1112import '../analyzer/resolver.dart' ;
1213import '../asset/cache.dart' ;
@@ -91,11 +92,29 @@ void _defaultLogListener(LogRecord record) {
9192 } else {
9293 color = _red;
9394 }
94- var message = '${_isPosixTerminal ? '\x 1b[2K\r ' : '' }'
95+ var header = '${_isPosixTerminal ? '\x 1b[2K\r ' : '' }'
9596 '$color [${record .level }]$_endColor ${record .loggerName }: '
96- '${record .message }${record .error != null ? "\n ${record .error }" : "" }'
97- '${record .stackTrace != null ? "\n ${record .stackTrace }" : "" }'
98- '${record .level > Level .INFO || !_isPosixTerminal ? '\n ' : '' }' ;
97+ '${record .message }' ;
98+ var lines = < Object > [header];
99+
100+ if (record.error != null ) {
101+ lines.add (record.error);
102+ }
103+
104+ if (record.stackTrace != null ) {
105+ if (record.stackTrace is Trace ) {
106+ lines.add ((record.stackTrace as Trace ).terse);
107+ } else {
108+ lines.add (record.stackTrace);
109+ }
110+ }
111+
112+ if (record.level > Level .INFO || ! _isPosixTerminal) {
113+ lines.add ('' );
114+ }
115+
116+ var message = lines.join ('\n ' );
117+
99118 if (record.level >= Level .SEVERE ) {
100119 stderr.write (message);
101120 } else {
0 commit comments