OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 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. |
| 4 |
| 5 library barback.transformer.transform_logger; |
| 6 |
| 7 import 'package:source_span/source_span.dart'; |
| 8 |
| 9 import '../asset/asset_id.dart'; |
| 10 import '../log.dart'; |
| 11 |
| 12 typedef void LogFunction(AssetId asset, LogLevel level, String message, |
| 13 SourceSpan span); |
| 14 |
| 15 /// Object used to report warnings and errors encountered while running a |
| 16 /// transformer. |
| 17 class TransformLogger { |
| 18 final LogFunction _logFunction; |
| 19 |
| 20 TransformLogger(this._logFunction); |
| 21 |
| 22 /// Logs an informative message. |
| 23 /// |
| 24 /// If [asset] is provided, the log entry is associated with that asset. |
| 25 /// Otherwise it's associated with the primary input of [transformer]. If |
| 26 /// present, [span] indicates the location in the input asset that caused the |
| 27 /// error. |
| 28 void info(String message, {AssetId asset, SourceSpan span}) { |
| 29 _logFunction(asset, LogLevel.INFO, message, span); |
| 30 } |
| 31 |
| 32 /// Logs a message that won't be displayed unless the user is running in |
| 33 /// verbose mode. |
| 34 /// |
| 35 /// If [asset] is provided, the log entry is associated with that asset. |
| 36 /// Otherwise it's associated with the primary input of [transformer]. If |
| 37 /// present, [span] indicates the location in the input asset that caused the |
| 38 /// error. |
| 39 void fine(String message, {AssetId asset, SourceSpan span}) { |
| 40 _logFunction(asset, LogLevel.FINE, message, span); |
| 41 } |
| 42 |
| 43 /// Logs a warning message. |
| 44 /// |
| 45 /// If [asset] is provided, the log entry is associated with that asset. |
| 46 /// Otherwise it's associated with the primary input of [transformer]. If |
| 47 /// present, [span] indicates the location in the input asset that caused the |
| 48 /// error. |
| 49 void warning(String message, {AssetId asset, SourceSpan span}) { |
| 50 _logFunction(asset, LogLevel.WARNING, message, span); |
| 51 } |
| 52 |
| 53 /// Logs an error message. |
| 54 /// |
| 55 /// If [asset] is provided, the log entry is associated with that asset. |
| 56 /// Otherwise it's associated with the primary input of [transformer]. If |
| 57 /// present, [span] indicates the location in the input asset that caused the |
| 58 /// error. |
| 59 /// |
| 60 /// Logging any errors will cause Barback to consider the transformation to |
| 61 /// have failed, much like throwing an exception. This means that neither the |
| 62 /// primary input nor any outputs emitted by the transformer will be passed on |
| 63 /// to the following phase, and the build will be reported as having failed. |
| 64 /// |
| 65 /// Unlike throwing an exception, this doesn't cause a transformer to stop |
| 66 /// running. This makes it useful in cases where a single input may have |
| 67 /// multiple errors that the user wants to know about. |
| 68 void error(String message, {AssetId asset, SourceSpan span}) { |
| 69 _logFunction(asset, LogLevel.ERROR, message, span); |
| 70 } |
| 71 } |
OLD | NEW |