Chromium Code Reviews

Unified Diff: pkg/barback/lib/src/transform_logger.dart

Issue 26572010: Improve barback/pub logging. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add missing file. Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: pkg/barback/lib/src/transform_logger.dart
diff --git a/pkg/barback/lib/src/transform_logger.dart b/pkg/barback/lib/src/transform_logger.dart
index e68573a476e041edb83e1f44e6ce66df670b8510..d046460888b0e93300b8ca786852f340c9d524ef 100644
--- a/pkg/barback/lib/src/transform_logger.dart
+++ b/pkg/barback/lib/src/transform_logger.dart
@@ -6,43 +6,45 @@ library barback.transform_logger;
import 'package:source_maps/span.dart';
+import 'asset_id.dart';
+import 'barback_logger.dart';
+import 'transform.dart';
+
/// Object used to report warnings and errors encountered while running a
/// transformer.
class TransformLogger {
+ final LogFunction _logFunction;
- bool _shouldPrint;
-
- TransformLogger(this._shouldPrint);
+ TransformLogger(this._logFunction);
/// Logs an informative message.
///
- /// If present, [span] indicates the location in the input asset that caused
- /// the message.
- void info(String message, [Span span]) {
- _printMessage('info', message, span);
+ /// If [asset] is provided, the log entry is associated with that asset,
nweiz 2013/10/16 19:41:27 ", otherwise" -> ". Otherwise" also below
Bob Nystrom 2013/10/28 23:45:56 Done.
+ /// otherwise it's associated with the primary input of [transformer].
+ /// If [span] is provided, indicates the location in the input asset that
+ /// caused the message.
+ void info(String message, {AssetId asset, Span span}) {
+ _logFunction(asset, LogLevel.INFO, message, span);
}
/// Logs a warning message.
///
+ /// If [asset] is provided, the log entry is associated with that asset,
+ /// otherwise it's associated with the primary input of [transformer].
/// If present, [span] indicates the location in the input asset that caused
/// the warning.
- void warning(String message, [Span span]) {
- _printMessage('warning', message, span);
+ void warning(String message, {AssetId asset, Span span}) {
+ _logFunction(asset, LogLevel.WARNING, message, span);
}
/// Logs an error message.
///
+ /// If [asset] is provided, the log entry is associated with that asset,
+ /// otherwise it's associated with the primary input of [transformer].
/// If present, [span] indicates the location in the input asset that caused
/// the error.
// TODO(sigmund,nweiz): clarify when an error should be logged or thrown.
- void error(String message, [Span span]) {
- _printMessage('error', message, span);
- }
-
- // TODO(sigmund,rnystrom): do something better than printing.
- _printMessage(String prefix, String message, Span span) {
- if (!_shouldPrint) return;
- print(span == null ? '$prefix: $message'
- : '$prefix ${span.getLocationMessage(message)}');
+ void error(String message, {AssetId asset, Span span}) {
+ _logFunction(asset, LogLevel.ERROR, message, span);
}
}

Powered by Google App Engine