Chromium Code Reviews| Index: runtime/lib/developer.dart |
| diff --git a/runtime/lib/developer.dart b/runtime/lib/developer.dart |
| index 242ef04603056d75b3e790633d60029161555881..e14e4f9d537ea1bf13781b18f2b3e4b03b277b60 100644 |
| --- a/runtime/lib/developer.dart |
| +++ b/runtime/lib/developer.dart |
| @@ -6,11 +6,42 @@ patch bool debugger({bool when: true, String msg}) native "Developer_debugger"; |
| patch inspect(object) native "Developer_inspect"; |
| -patch log({int sequenceNumber, |
| - int millisecondsSinceEpoch, |
| +patch log(String message, |
| + DateTime time, |
| + {int sequenceNumber, |
| int level, |
|
Lasse Reichstein Nielsen
2015/08/04 11:24:54
Add default value for level and name.
Cutch
2015/08/04 14:11:40
Done.
|
| String name, |
| - String message, |
| Zone zone, |
| Object error, |
| - StackTrace stackTrace}) native "Developer_log"; |
| + StackTrace stackTrace}) { |
| + if (message is! String) { |
| + throw new ArgumentError("message must be an instance of String"); |
|
Lasse Reichstein Nielsen
2015/08/04 11:24:54
throw new ArgumentError.value(message, "message",
Cutch
2015/08/04 14:11:40
Done.
|
| + } |
| + if (time is! DateTime) { |
| + throw new ArgumentError("time must be an instance of DateTime"); |
|
Lasse Reichstein Nielsen
2015/08/04 11:24:54
throw new ArgumentError.value(time, "time", "Must
Cutch
2015/08/04 14:11:40
Done.
|
| + } |
| + if (sequenceNumber == null) { |
| + sequenceNumber = _lastSequenceNumber++; |
|
Lasse Reichstein Nielsen
2015/08/04 11:24:54
-> ++_lastSequenceNumber
(otherwise you will repe
Cutch
2015/08/04 14:11:40
Done.
|
| + } else { |
| + _lastSequenceNumber = sequenceNumber; |
| + } |
| + return _log(message, |
| + time.millisecondsSinceEpoch, |
| + sequenceNumber, |
| + level, |
| + name, |
| + zone, |
| + error, |
| + stackTrace); |
| +} |
| + |
| +int _lastSequenceNumber = 0; |
| + |
| +_log(String message, |
| + DateTime time, |
| + int sequenceNumber, |
| + int level, |
| + String name, |
| + Zone zone, |
| + Object error, |
| + StackTrace stackTrace) native "Developer_log"; |