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"; |