| 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..04ad6c6f6e90bf80b394bfe5c0b3c1d90a554a17 100644
|
| --- a/pkg/analysis_server/lib/src/analysis_logger.dart
|
| +++ b/pkg/analysis_server/lib/src/analysis_logger.dart
|
| @@ -4,6 +4,7 @@
|
|
|
| library analysis.logger;
|
|
|
| +import 'package:analysis_server/src/analysis_server.dart';
|
| import 'package:analyzer/src/generated/engine.dart';
|
| import 'package:analyzer/src/generated/java_engine.dart';
|
| import 'package:logging/logging.dart' as logging;
|
| @@ -18,7 +19,13 @@ class AnalysisLogger implements Logger {
|
| */
|
| final logging.Logger baseLogger = new logging.Logger('analysis.server');
|
|
|
| - AnalysisLogger() {
|
| + /**
|
| + * The analysis server that is using this logger.
|
| + */
|
| + final AnalysisServer server;
|
| +
|
| + AnalysisLogger(this.server) {
|
| + assert(server != null);
|
| logging.Logger.root.onRecord.listen((logging.LogRecord record) {
|
| AnalysisEngine.instance.instrumentationService.logLogEntry(
|
| record.level.name,
|
| @@ -36,6 +43,8 @@ class AnalysisLogger implements Logger {
|
| } else {
|
| baseLogger.severe(message, exception.exception, exception.stackTrace);
|
| }
|
| + server.sendServerErrorNotification(
|
| + message, exception, exception?.stackTrace);
|
| }
|
|
|
| @override
|
|
|