Closed
Bug 1494611
Opened 6 years ago
Closed 6 years ago
Marionette logs debug/trace lines when "marionette.log.level" uses all capitalized letters
Categories
(Remote Protocol :: Marionette, enhancement, P2)
Remote Protocol
Marionette
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: whimboo, Assigned: whimboo)
Details
Setting the "marionette.log.level" preference to eg. "INFO" causes Marionette to log all debug and trace output.
Assignee | ||
Comment 1•6 years ago
|
||
The problem here is that we delegate the retrieval of the log level to `logger.manageLevelFromPref(PREF_LOG_LEVEL)`. And that doesn't care about broken capitalization. It just picks what it gets, or uses the `All` log level: https://dxr.mozilla.org/mozilla-central/rev/024521c589d28744b5c4a6c01127fa35edef2c53/toolkit/modules/Log.jsm#213-238 We could enhance the logger for that particular situation, and allow it to fallback to the `Log.Level.Numbers` property, which has all capitalized letters. But I might not wanna touch that. Alternatively we have our `logLevel()` method of Marionette prefs, which currently is not used. As such we could just fix the level in the preference so that Log.jsm's preference observer will pick it up. Not sure if that is ideal either. Basically the `logLevel()` getter which lowercases all values is currently unused in any of the modules. And as such any level not starting with a capitalized letter, and having lowercase letters following will cause everything to be logged. Andreas, which path would you take? Should we just leave it as what we have right now? Clients would have to be fixed to send the correct value for the log level. Personally I would prefer this solution.
Flags: needinfo?(ato)
Comment 2•6 years ago
|
||
The presumption was always that the input to marionette.log.level would be in the correct format and that internal consumers would use fail-safe MarionettePrefs.logLevel to get at the log level. I don’t think there’s anything we can do here without modifying Log.repository.manageLevelFromPref, and from past conversations with mossop, it would be an unwelcome change to ignore casing in Log.jsm. One slightly hacky option might be to read MarionettePrefs.logLevel before calling manageLevelFromPref, and then write the value again. But that might cause race conditions witht he first loggers that are returned, and causes unnecessary writes to the preference registry.
Flags: needinfo?(ato)
Assignee | ||
Comment 3•6 years ago
|
||
Ok, good to see that we have the same feeling here. Lets leave the code as is and close this bug as wontfix.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Updated•1 year ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•