Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(344)

Side by Side Diff: sdk/lib/_internal/pub/lib/src/log.dart

Issue 430973002: Only support the new source_span spans in barback. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Message logging. 5 /// Message logging.
6 library pub.log; 6 library pub.log;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:convert'; 9 import 'dart:convert';
10 import 'dart:io'; 10 import 'dart:io';
11 11
12 import 'package:path/path.dart' as p; 12 import 'package:path/path.dart' as p;
13 import 'package:source_maps/source_maps.dart';
14 import 'package:source_span/source_span.dart'; 13 import 'package:source_span/source_span.dart';
15 import 'package:stack_trace/stack_trace.dart'; 14 import 'package:stack_trace/stack_trace.dart';
16 15
17 import 'exceptions.dart'; 16 import 'exceptions.dart';
18 import 'io.dart'; 17 import 'io.dart';
19 import 'progress.dart'; 18 import 'progress.dart';
20 import 'transcript.dart'; 19 import 'transcript.dart';
21 import 'utils.dart'; 20 import 'utils.dart';
22 21
23 /// The singleton instance so that we can have a nice api like: 22 /// The singleton instance so that we can have a nice api like:
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 } 308 }
310 309
311 /// Logs an exception. 310 /// Logs an exception.
312 void exception(exception, [StackTrace trace]) { 311 void exception(exception, [StackTrace trace]) {
313 if (exception is SilentException) return; 312 if (exception is SilentException) return;
314 313
315 var chain = trace == null ? new Chain.current() : new Chain.forTrace(trace); 314 var chain = trace == null ? new Chain.current() : new Chain.forTrace(trace);
316 315
317 // This is basically the top-level exception handler so that we don't 316 // This is basically the top-level exception handler so that we don't
318 // spew a stack trace on our users. 317 // spew a stack trace on our users.
319 if (exception is SpanException) { 318 if (exception is SourceSpanException) {
320 error(exception.toString(useColors: canUseSpecialChars));
321 } else if (exception is SourceSpanException) {
322 error(exception.toString(color: canUseSpecialChars)); 319 error(exception.toString(color: canUseSpecialChars));
323 } else { 320 } else {
324 error(getErrorMessage(exception)); 321 error(getErrorMessage(exception));
325 } 322 }
326 fine("Exception type: ${exception.runtimeType}"); 323 fine("Exception type: ${exception.runtimeType}");
327 324
328 if (json.enabled) { 325 if (json.enabled) {
329 if (exception is UsageException) { 326 if (exception is UsageException) {
330 // Don't print usage info in JSON output. 327 // Don't print usage info in JSON output.
331 json.error(exception.message); 328 json.error(exception.message);
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 /// Always prints to stdout. 500 /// Always prints to stdout.
504 void error(error, [stackTrace]) { 501 void error(error, [stackTrace]) {
505 var errorJson = {"error": error.toString()}; 502 var errorJson = {"error": error.toString()};
506 503
507 if (stackTrace == null && error is Error) stackTrace = error.stackTrace; 504 if (stackTrace == null && error is Error) stackTrace = error.stackTrace;
508 if (stackTrace != null) { 505 if (stackTrace != null) {
509 errorJson["stackTrace"] = new Chain.forTrace(stackTrace).toString(); 506 errorJson["stackTrace"] = new Chain.forTrace(stackTrace).toString();
510 } 507 }
511 508
512 // If the error came from a file, include the path. 509 // If the error came from a file, include the path.
513 if ((error is SpanException || error is SourceSpanException) && 510 if (error is SourceSpanException && error.span.sourceUrl != null) {
514 error.span.sourceUrl != null) {
515 errorJson["path"] = p.fromUri(error.span.sourceUrl); 511 errorJson["path"] = p.fromUri(error.span.sourceUrl);
516 } 512 }
517 513
518 if (error is FileException) { 514 if (error is FileException) {
519 errorJson["path"] = error.path; 515 errorJson["path"] = error.path;
520 } 516 }
521 517
522 this.message(errorJson); 518 this.message(errorJson);
523 } 519 }
524 520
525 /// Encodes [message] to JSON and prints it if JSON output is enabled. 521 /// Encodes [message] to JSON and prints it if JSON output is enabled.
526 void message(message) { 522 void message(message) {
527 if (!enabled) return; 523 if (!enabled) return;
528 524
529 print(JSON.encode(message)); 525 print(JSON.encode(message));
530 } 526 }
531 } 527 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698