Bug 1588242 [wpt PR 19652] - [tools] Correct filtering logic for building docs, a...
[gecko.git] / remote / Log.jsm
blob12c0b607149b1d707a687a11a1557fa7e2c3716d
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 "use strict";
7 var EXPORTED_SYMBOLS = ["Log"];
9 const { Log: StdLog } = ChromeUtils.import("resource://gre/modules/Log.jsm");
10 const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
12 const LOG_LEVEL = "remote.log.level";
14 /** E10s compatible wrapper for the standard logger from Log.jsm. */
15 class Log {
16   static get() {
17     const logger = StdLog.repository.getLogger("RemoteAgent");
18     if (logger.ownAppenders.length == 0) {
19       logger.addAppender(new StdLog.DumpAppender());
20       logger.manageLevelFromPref(LOG_LEVEL);
21     }
22     return logger;
23   }
25   static get verbose() {
26     // we can't use Preferences.jsm before first paint,
27     // see ../browser/base/content/test/performance/browser_startup.js
28     const level = Services.prefs.getStringPref(LOG_LEVEL, "Info");
29     return StdLog.Level[level] >= StdLog.Level.Info;
30   }