diff --git a/src/components/tl-protocol.js b/src/components/tl-protocol.js index ceb5a0cdb90d6545a493891243fe12b7bf42f361..b192081662ee789d51d549d14e45d0ebad394416 100644 --- a/src/components/tl-protocol.js +++ b/src/components/tl-protocol.js @@ -224,6 +224,8 @@ TorProtocolService.prototype = kClassID: Components.ID("{4F476361-23FB-43EF-A427-B36A14D3208E}"), kPrefMaxTorLogEntries: "extensions.torlauncher.max_tor_log_entries", + // TODO: optionally monitor INFO and DEBUG log messages. + kMonitoredEvents: ["STATUS_CLIENT", "NOTICE", "WARN", "ERR"], // nsISupports implementation. QueryInterface: function(aIID) @@ -629,6 +631,8 @@ TorProtocolService.prototype = this._shutDownEventMonitor(); }, + + TorStartEventMonitor: async function() { if (this.mEventMonitorConnection) @@ -642,9 +646,7 @@ TorProtocolService.prototype = return; } - // TODO: optionally monitor INFO and DEBUG log messages. - var events = "STATUS_CLIENT NOTICE WARN ERR"; - //var events = "STATUS_CLIENT WARN ERR"; + var events = this.kMonitoredEvents.join(' '); var reply = await conn.sendCommand("SETEVENTS " + events); reply = this.TorParseCommandResponse(reply); if (!this.TorCommandSucceeded(reply)) @@ -1286,10 +1288,11 @@ TorProtocolService.prototype = if (!this.mEventMonitorConnection) return; - var _this = this; - this.mEventMonitorConnection.watchEvent("STATUS_CLIENT", null, function (data) { - return _this._processEventData.bind(_this, data)(); - }, true); + for(let e of this.kMonitoredEvents) { + this.mEventMonitorConnection.watchEvent(e, null, (data) => { + this._processEventData(data); + }, true); + } }, _processEventData: function(line)