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

Unified Diff: pkg/analysis_server/lib/src/analysis_logger.dart

Issue 1432423004: Send any logError() information to the IDE. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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: pkg/analysis_server/lib/src/analysis_logger.dart
diff --git a/pkg/analysis_server/lib/src/analysis_logger.dart b/pkg/analysis_server/lib/src/analysis_logger.dart
index 9e751a42661dde5c5ca733094661778af6d935ad..388c98eb3185ab48b77a306b3a83b40db3e3c66f 100644
--- a/pkg/analysis_server/lib/src/analysis_logger.dart
+++ b/pkg/analysis_server/lib/src/analysis_logger.dart
@@ -8,6 +8,8 @@ import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:logging/logging.dart' as logging;
+typedef LogMessageHandler(String message, CaughtException exception);
+
/**
* Instances of the class [AnalysisLogger] translate from the analysis engine's
* API to the logging package's API.
@@ -18,7 +20,12 @@ class AnalysisLogger implements Logger {
*/
final logging.Logger baseLogger = new logging.Logger('analysis.server');
- AnalysisLogger() {
+ /**
+ * This handler is invoked for every [logError] invocation.
+ */
+ final LogMessageHandler onError;
+
+ AnalysisLogger({this.onError}) {
Brian Wilkerson 2015/11/12 14:52:51 I'm not sure we need this level of flexibility. Se
scheglov 2015/11/12 16:15:56 Done.
logging.Logger.root.onRecord.listen((logging.LogRecord record) {
AnalysisEngine.instance.instrumentationService.logLogEntry(
record.level.name,
@@ -31,6 +38,9 @@ class AnalysisLogger implements Logger {
@override
void logError(String message, [CaughtException exception]) {
+ if (onError != null) {
+ onError(message, exception);
+ }
if (exception == null) {
baseLogger.severe(message);
} else {
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/analysis_server.dart » ('j') | pkg/analysis_server/lib/src/analysis_server.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698