s are relying on the same preference. * * @param {string} type * The type of logger to use. Protocol-specific modules should use the * corresponding logger type. Eg. files under /marionette should use * Log.TYPES.MARIONETTE. */ static get(type = Log.TYPES.REMOTE_AGENT) { const logger = StdLog.repository.getLogger(type); if (!logger.ownAppenders.length) { logger.addAppender(new StdLog.DumpAppender()); logger.manageLevelFromPref(PREF_REMOTE_LOG_LEVEL); } return logger; } /** * Check if the current log level matches the Debug log level, or any level * above that. This should be used to guard logger.debug calls and avoid * instantiating logger instances unnecessarily. */ static get isDebugLevelOrMore() { // Debug is assigned 20, more verbose log levels have lower values. return StdLog.Level[lazy.logLevel] <= StdLog.Level.Debug; } /** * Check if the current log level matches the Trace log level, or any level * above that. This should be used to guard logger.trace calls and avoid * instantiating logger instances unnecessarily. */ static get isTraceLevelOrMore() { // Trace is assigned 10, more verbose log levels have lower values. return StdLog.Level[lazy.logLevel] <= StdLog.Level.Trace; } /** * WARNING: This helper is incorrectly implemented and probably doesn't do * what you would expect. * * At the moment `verbose` will be true for the least verbose log levels: * INFO, WARN, ERROR and FATAL. Fixing the issue would lead to too much * additional log spam on CI so we will need to use another approach, and * probably to decouple it from the log level. * * See https://bugzilla.mozilla.org/show_bug.cgi?id=1828395 */ static get verbose() { return StdLog.Level[lazy.logLevel] >= StdLog.Level.Info; } } PK