12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /* 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";
- this.EXPORTED_SYMBOLS = ["logging"];
- this.logging = {};
- /** Simple logger that is used in Simple Test harness tests. */
- logging.ContentLogger = class {
- constructor() {
- this.logs_ = [];
- }
- /**
- * Append a log entry.
- *
- * @param {string} message
- * Log entry message.
- * @param {string=} level
- * Severity of entry. Defaults to "INFO".
- */
- log(message, level = "INFO") {
- let now = (new Date()).toString();
- this.logs_.push([level, message, now]);
- }
- /**
- * Append array of log entries.
- *
- * @param {Array.<Array<string, string, string>>} messages
- * List of log entries, that are of the form severity, message,
- * and date.
- */
- addAll(messages) {
- for (let message of messages) {
- this.logs_.push(message);
- }
- }
- /**
- * Gets current log entries and clears the cache.
- *
- * @return {Array.<Array<string, string, string>>}
- * Log entries of the form severity, message, and date.
- */
- get() {
- let logs = this.logs_;
- this.logs_ = [];
- return logs;
- }
- };
- /**
- * Adapts an instance of ContentLogger for use in a sandbox. Is consumed
- * by sandbox.augment.
- */
- logging.Adapter = class {
- constructor(logger = null) {
- this.logger = logger;
- }
- get exports() {
- return new Map([["log", this.log.bind(this)]]);
- }
- log(message, level = "INFO") {
- dump(`MARIONETTE LOG: ${level}: ${message}\n`);
- if (this.logger) {
- this.logger.log(message, level);
- }
- }
- };
|