blob: d046460888b0e93300b8ca786852f340c9d524ef [file] [log] [blame]
// 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.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;
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 [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, {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, {AssetId asset, Span span}) {
_logFunction(asset, LogLevel.ERROR, message, span);
}
}