From 9ae171e0c805f7c4cbb6df429ba6c43ad66893f0 Mon Sep 17 00:00:00 2001 From: Tim Blasi Date: Tue, 17 Nov 2015 16:27:29 -0800 Subject: [PATCH] refactor(dart/transform): Improve logging Ensure that, where possible, log messages include an [AssetId]. Closes #5369 --- .../common/code/reflection_info_code.dart | 15 ++++++++++----- .../transform/deferred_rewriter/rewriter.dart | 5 +++-- .../ng_deps_linker.dart | 6 ++++-- .../ng_meta_linker.dart | 2 +- .../transform/directive_processor/rewriter.dart | 2 +- .../transform/inliner_for_test/transformer.dart | 7 ++++--- .../reflection_remover/transformer.dart | 6 ++++-- .../template_compiler/compile_data_creator.dart | 16 ++++++++++------ 8 files changed, 37 insertions(+), 22 deletions(-) diff --git a/modules_dart/transform/lib/src/transform/common/code/reflection_info_code.dart b/modules_dart/transform/lib/src/transform/common/code/reflection_info_code.dart index 5dedd3ca96..b3ff0958c7 100644 --- a/modules_dart/transform/lib/src/transform/common/code/reflection_info_code.dart +++ b/modules_dart/transform/lib/src/transform/common/code/reflection_info_code.dart @@ -56,8 +56,10 @@ class ReflectionInfoVisitor extends RecursiveAstVisitor { if (numCtorsFound > 1) { var ctorName = ctor.name; if (ctorName != null) { - log.warning('Found ${numCtorsFound} constructors for class ' - '${node.name}; using constructor ${ctorName}.'); + log.warning( + 'Found ${numCtorsFound} constructors for class ' + '${node.name}; using constructor ${ctorName}.', + asset: assetId); } } return ctor; @@ -166,8 +168,10 @@ class ReflectionInfoVisitor extends RecursiveAstVisitor { if (directivesNode == null) return const []; if (directivesNode.expression is! ListLiteral) { - log.warning('Angular 2 expects a list literal for `directives` ' - 'but found a ${directivesNode.expression.runtimeType}'); + log.warning( + 'Angular 2 expects a list literal for `directives` ' + 'but found a ${directivesNode.expression.runtimeType}', + asset: assetId); return const []; } final directives = []; @@ -179,7 +183,8 @@ class ReflectionInfoVisitor extends RecursiveAstVisitor { } else if (dep is Identifier) { directives.add(new PrefixedDirective()..name = '${dep}'); } else { - log.warning('Found unexpected value $dep in `directives`.'); + log.warning('Found unexpected value $dep in `directives`.', + asset: assetId); } } return directives; diff --git a/modules_dart/transform/lib/src/transform/deferred_rewriter/rewriter.dart b/modules_dart/transform/lib/src/transform/deferred_rewriter/rewriter.dart index 990181a4a7..841e62c3c4 100644 --- a/modules_dart/transform/lib/src/transform/deferred_rewriter/rewriter.dart +++ b/modules_dart/transform/lib/src/transform/deferred_rewriter/rewriter.dart @@ -114,12 +114,13 @@ class _FindDeferredLibraries extends Object with RecursiveAstVisitor { bool hasDeferredLibrariesToRewrite() { if (deferredImports.isEmpty) { - log.fine('There are no deferred library imports.'); + log.fine('There are no deferred library imports.', asset: _entryPoint); return false; } if (loadLibraryInvocations.isEmpty) { log.fine( - 'There are no loadLibrary invocations that need to be rewritten.'); + 'There are no loadLibrary invocations that need to be rewritten.', + asset: _entryPoint); return false; } return true; diff --git a/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_deps_linker.dart b/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_deps_linker.dart index 143e9ebe4f..c9907cc88b 100644 --- a/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_deps_linker.dart +++ b/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_deps_linker.dart @@ -72,9 +72,11 @@ Future> _processNgImports(NgDepsModel model, retVal[directive.uri] = summaryJsonUri; } }, onError: (err, stack) { - log.warning('Error while looking for $summaryJsonUri. ' + log.warning( + 'Error while looking for $summaryJsonUri. ' 'Message: $err\n' - 'Stack: $stack'); + 'Stack: $stack', + asset: assetId); }); })) .then((_) => retVal); diff --git a/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_meta_linker.dart b/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_meta_linker.dart index 98390dd366..874813b127 100644 --- a/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_meta_linker.dart +++ b/modules_dart/transform/lib/src/transform/directive_metadata_linker/ng_meta_linker.dart @@ -77,7 +77,7 @@ Future _linkRecursive(NgMeta ngMeta, AssetReader reader, AssetId assetId, } } catch (err, st) { // Log and continue. - log.warning('Failed to fetch $uri. Message: $err.\n$st'); + log.warning('Failed to fetch $uri. Message: $err.\n$st', asset: assetId); } })); } diff --git a/modules_dart/transform/lib/src/transform/directive_processor/rewriter.dart b/modules_dart/transform/lib/src/transform/directive_processor/rewriter.dart index 4dfd584b76..dda7db751e 100644 --- a/modules_dart/transform/lib/src/transform/directive_processor/rewriter.dart +++ b/modules_dart/transform/lib/src/transform/directive_processor/rewriter.dart @@ -96,7 +96,7 @@ class _NgMetaVisitor extends Object with SimpleAstVisitor { compileDirectiveMetadata; } }).catchError((err) { - log.error('ERROR: $err'); + log.error('ERROR: $err', asset: assetId); })); return null; } diff --git a/modules_dart/transform/lib/src/transform/inliner_for_test/transformer.dart b/modules_dart/transform/lib/src/transform/inliner_for_test/transformer.dart index 87bf181223..2d81f42a5f 100644 --- a/modules_dart/transform/lib/src/transform/inliner_for_test/transformer.dart +++ b/modules_dart/transform/lib/src/transform/inliner_for_test/transformer.dart @@ -179,7 +179,7 @@ class _ViewPropInliner extends RecursiveAstVisitor { final inlinedVal = _addInlineValue(url, varBase: _inlinedStyleBase); _writer.print('${inlinedVal.name},'); } else { - zone.log.warning('style url is not a String (${url})'); + zone.log.warning('style url is not a String (${url})', asset: _assetId); } } _writer.print(']'); @@ -191,7 +191,8 @@ class _ViewPropInliner extends RecursiveAstVisitor { void _populateTemplateUrl(NamedExpression node) { var url = naiveEval(node.expression); if (url is! String) { - zone.log.warning('template url is not a String (${node.expression})'); + zone.log.warning('template url is not a String (${node.expression})', + asset: _assetId); return; } _writer.print(_code.substring(_lastIndex, node.offset)); @@ -209,7 +210,7 @@ class _ViewPropInliner extends RecursiveAstVisitor { final resolvedUri = _urlResolver.resolve(_baseUri.toString(), url); return _xhr.get(resolvedUri).catchError((_) { - zone.log.error('$_baseUri: could not read $url'); + zone.log.error('$_baseUri: could not read $url', asset: _assetId); return ''; }); } diff --git a/modules_dart/transform/lib/src/transform/reflection_remover/transformer.dart b/modules_dart/transform/lib/src/transform/reflection_remover/transformer.dart index dc24d34eb6..98356847c2 100644 --- a/modules_dart/transform/lib/src/transform/reflection_remover/transformer.dart +++ b/modules_dart/transform/lib/src/transform/reflection_remover/transformer.dart @@ -44,9 +44,11 @@ class ReflectionRemover extends Transformer implements LazyTransformer { if (options.modeName == TRANSFORM_DYNAMIC_MODE) { mirrorMode = MirrorMode.debug; writeStaticInit = false; - zone.log.info('Running in "${options.modeName}", ' + zone.log.info( + 'Running in "${options.modeName}", ' 'mirrorMode: ${mirrorMode}, ' - 'writeStaticInit: ${writeStaticInit}.'); + 'writeStaticInit: ${writeStaticInit}.', + asset: primaryId); } var transformedCode = await removeReflectionCapabilities( diff --git a/modules_dart/transform/lib/src/transform/template_compiler/compile_data_creator.dart b/modules_dart/transform/lib/src/transform/template_compiler/compile_data_creator.dart index d011116c49..9ddee69375 100644 --- a/modules_dart/transform/lib/src/transform/template_compiler/compile_data_creator.dart +++ b/modules_dart/transform/lib/src/transform/template_compiler/compile_data_creator.dart @@ -19,8 +19,8 @@ import 'package:barback/barback.dart'; /// /// The returned value wraps the [NgDepsModel] at `assetId` as well as these /// created objects. -Future createCompileData( - AssetReader reader, AssetId assetId, List platformDirectives) async { +Future createCompileData(AssetReader reader, + AssetId assetId, List platformDirectives) async { return logElapsedAsync(() async { final creator = await _CompileDataCreator.create(reader, assetId, platformDirectives); @@ -92,10 +92,12 @@ class _CompileDataCreator { } else if (depNgMeta.aliases.containsKey(dep.name)) { compileDatum.directives.addAll(depNgMeta.flatten(dep.name)); } else { - log.warning('Could not find Directive entry for $dep. ' + log.warning( + 'Could not find Directive entry for $dep. ' 'Please be aware that Dart transformers have limited support for ' 'reusable, pre-defined lists of Directives (aka ' - '"directive aliases"). See https://goo.gl/d8XPt0 for details.'); + '"directive aliases"). See https://goo.gl/d8XPt0 for details.', + asset: entryPoint); } } compileData[reflectable] = compileDatum; @@ -112,8 +114,10 @@ class _CompileDataCreator { for (var ad in platformDirectives) { final parts = ad.split("#"); if (parts.length != 2) { - log.warning('The platform directives configuration option ' - 'must be in the following format: "URI#TOKEN"'); + log.warning( + 'The platform directives configuration option ' + 'must be in the following format: "URI#TOKEN"', + asset: entryPoint); return const []; } res.addAll(await _readPlatformDirectivesFromUri(parts[0], parts[1]));