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

Unified Diff: observatory_pub_packages/barback/src/transformer/transform_logger.dart

Issue 816693004: Add observatory_pub_packages snapshot to third_party (Closed) Base URL: http://dart.googlecode.com/svn/third_party/
Patch Set: Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: observatory_pub_packages/barback/src/transformer/transform_logger.dart
===================================================================
--- observatory_pub_packages/barback/src/transformer/transform_logger.dart (revision 0)
+++ observatory_pub_packages/barback/src/transformer/transform_logger.dart (working copy)
@@ -0,0 +1,71 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library barback.transformer.transform_logger;
+
+import 'package:source_span/source_span.dart';
+
+import '../asset/asset_id.dart';
+import '../log.dart';
+
+typedef void LogFunction(AssetId asset, LogLevel level, String message,
+ SourceSpan span);
+
+/// Object used to report warnings and errors encountered while running a
+/// transformer.
+class TransformLogger {
+ final LogFunction _logFunction;
+
+ TransformLogger(this._logFunction);
+
+ /// Logs an informative 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.
+ void info(String message, {AssetId asset, SourceSpan span}) {
+ _logFunction(asset, LogLevel.INFO, message, span);
+ }
+
+ /// Logs a message that won't be displayed unless the user is running in
+ /// verbose mode.
+ ///
+ /// 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.
+ void fine(String message, {AssetId asset, SourceSpan span}) {
+ _logFunction(asset, LogLevel.FINE, 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
+ /// error.
+ void warning(String message, {AssetId asset, SourceSpan 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.
+ ///
+ /// Logging any errors will cause Barback to consider the transformation to
+ /// have failed, much like throwing an exception. This means that neither the
+ /// primary input nor any outputs emitted by the transformer will be passed on
+ /// to the following phase, and the build will be reported as having failed.
+ ///
+ /// Unlike throwing an exception, this doesn't cause a transformer to stop
+ /// running. This makes it useful in cases where a single input may have
+ /// multiple errors that the user wants to know about.
+ void error(String message, {AssetId asset, SourceSpan span}) {
+ _logFunction(asset, LogLevel.ERROR, message, span);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698