diff --git a/spy.js b/spy.js index d1295f9..c1139b3 100644 --- a/spy.js +++ b/spy.js @@ -1,6 +1,8 @@ // Generic Spy -function Spy() { +function Spy(label, useJson) { + this.label = label || "SPY"; + this.useJson = useJson; } Spy.prototype.boot = function () { @@ -9,8 +11,20 @@ Spy.prototype.boot = function () { Spy.prototype.handleEvent = function (e) { switch (e.type) { - case "routes": console.log("SPY", "routes", e.routes); break; - case "message": console.log("SPY", "message", e.message, e.metaLevel, e.isFeedback); break; - default: console.log("SPY", "unknown", e); break; + case "routes": + console.log(this.label, "routes", this.useJson ? JSON.stringify(e.routes) : e.routes); + break; + case "message": + var messageRepr; + try { + messageRepr = this.useJson ? JSON.stringify(e.message) : e.message; + } catch (exn) { + messageRepr = e.message; + } + console.log(this.label, "message", messageRepr, e.metaLevel, e.isFeedback); + break; + default: + console.log(this.label, "unknown", e); + break; } };