OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'package:logging/logging.dart'; | 5 import 'package:logging/logging.dart'; |
6 import 'package:observatory/app.dart'; | 6 import 'package:observatory/app.dart'; |
7 import 'package:polymer/polymer.dart'; | 7 import 'package:polymer/polymer.dart'; |
8 | 8 |
9 main() { | 9 main() { |
10 Logger.root.level = Level.INFO; | 10 Logger.root.level = Level.INFO; |
11 Logger.root.onRecord.listen((LogRecord rec) { | 11 Logger.root.onRecord.listen((LogRecord rec) { |
12 if (rec.level == Level.WARNING && | 12 if (rec.level == Level.WARNING && |
13 rec.message.startsWith('Error evaluating expression') && | 13 rec.message.startsWith('Error evaluating expression') && |
14 (rec.message.contains("Can't assign to null: ") || | 14 (rec.message.contains("Can't assign to null: ") || |
15 rec.message.contains('Expression is not assignable: '))) { | 15 rec.message.contains('Expression is not assignable: '))) { |
16 // Suppress flaky polymer errors. | 16 // Suppress flaky polymer errors. |
17 return; | 17 return; |
18 } | 18 } |
19 print('${rec.level.name}: ${rec.time}: ${rec.message}'); | 19 print('${rec.level.name}: ${rec.time}: ${rec.message}'); |
20 }); | 20 }); |
21 Logger.root.info('Starting Observatory'); | 21 Logger.root.info('Starting Observatory'); |
22 GoogleChart.initOnce().then((_) { | 22 GoogleChart.initOnce().then((_) { |
23 // Charts loaded, initialize polymer. | 23 // Charts loaded, initialize polymer. |
24 Logger.root.info('Initializing Polymer'); | 24 initPolymer().run(() { |
25 try { | 25 Logger.root.info('Polymer initialized'); |
26 initPolymer(); | 26 // Code here is in the polymer Zone, which ensures that |
27 } catch (e) { | 27 // @observable properties work correctly. |
28 Logger.root.severe('Error initializing polymer: $e'); | 28 Polymer.onReady.then((_) { |
29 } | 29 Logger.root.info('Polymer elements have been upgraded'); |
| 30 }); |
| 31 }); |
30 }); | 32 }); |
31 } | 33 } |
OLD | NEW |