diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:44:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:44:51 +0000 |
commit | 9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/chat/protocols/matrix/shims/loglevel.js | |
parent | Initial commit. (diff) | |
download | thunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.tar.xz thunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/chat/protocols/matrix/shims/loglevel.js')
-rw-r--r-- | comm/chat/protocols/matrix/shims/loglevel.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/comm/chat/protocols/matrix/shims/loglevel.js b/comm/chat/protocols/matrix/shims/loglevel.js new file mode 100644 index 0000000000..9998435d40 --- /dev/null +++ b/comm/chat/protocols/matrix/shims/loglevel.js @@ -0,0 +1,73 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +/* globals scriptError, imIDebugMessage, module */ + +let _loggers = {}; + +/* + * Implement a custom logger to to hook the Matrix logging up to the chat + * logging framework. + * + * This unfortunately does not enable account specific logging. + */ +function getLogger(loggerName) { + let moduleName = "prpl-matrix." + loggerName; + + let logger = _loggers[moduleName]; + + // If the logger was previously created, return it. + if (logger) { + return logger; + } + + // Otherwise, build a new logger. + logger = {}; + logger.trace = scriptError.bind( + logger, + moduleName, + imIDebugMessage.LEVEL_DEBUG + ); + logger.debug = scriptError.bind( + logger, + moduleName, + imIDebugMessage.LEVEL_DEBUG + ); + logger.log = scriptError.bind( + logger, + moduleName, + imIDebugMessage.LEVEL_DEBUG + ); + logger.info = scriptError.bind(logger, moduleName, imIDebugMessage.LEVEL_LOG); + logger.warn = scriptError.bind( + logger, + moduleName, + imIDebugMessage.LEVEL_WARNING + ); + logger.error = scriptError.bind( + logger, + moduleName, + imIDebugMessage.LEVEL_ERROR + ); + + // This is a no-op since log levels are configured via preferences. + logger.setLevel = function (level) {}; + + _loggers[moduleName] = logger; + + return logger; +} + +module.exports = { + getLogger, + levels: { + TRACE: imIDebugMessage.LEVEL_DEBUG, + DEBUG: imIDebugMessage.LEVEL_DEBUG, + INFO: imIDebugMessage.LEVEL_LOG, + WARN: imIDebugMessage.LEVEL_WARNING, + ERROR: imIDebugMessage.LEVEL_ERROR, + }, +}; |