diff options
author | Mark H Weaver <mhw@netris.org> | 2025-06-18 22:14:49 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2025-06-23 22:20:16 -0400 |
commit | b0e189f6449787fb823e8a58e5d5e74b96acd8f1 (patch) | |
tree | 21e39c6271c4846e0a963faaea6559675b9ec7eb /data/extensions/jsr@javascriptrestrictor/nscl/common/log.js | |
parent | b1da0f01591182b43e179451ce2484d0fee88dd8 (diff) |
Update the JShelter extension to 0.21.
Diffstat (limited to 'data/extensions/jsr@javascriptrestrictor/nscl/common/log.js')
-rw-r--r-- | data/extensions/jsr@javascriptrestrictor/nscl/common/log.js | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/data/extensions/jsr@javascriptrestrictor/nscl/common/log.js b/data/extensions/jsr@javascriptrestrictor/nscl/common/log.js index b71fbc5..e754e66 100644 --- a/data/extensions/jsr@javascriptrestrictor/nscl/common/log.js +++ b/data/extensions/jsr@javascriptrestrictor/nscl/common/log.js @@ -1,7 +1,7 @@ /* * NoScript Commons Library * Reusable building blocks for cross-browser security/privacy WebExtensions. - * Copyright (C) 2020-2023 Giorgio Maone <https://maone.net> + * Copyright (C) 2020-2024 Giorgio Maone <https://maone.net> * * SPDX-License-Identifier: GPL-3.0-or-later * @@ -18,20 +18,29 @@ * this program. If not, see <https://www.gnu.org/licenses/>. */ +"use strict"; { - let PREFIX = typeof browser === "object" && typeof importScripts === "undefined" + const PREFIX = typeof browser === "object" && typeof importScripts === "undefined" ? `[${browser.runtime.getManifest().name}]` : ''; - let debugCount = 0; + const startupTime = Date.now(); + let lastDebugTime = startupTime; + let ordinal = 1; - function log(msg, ...rest) { - console.log(`${PREFIX} ${msg}`, ...rest); - } + const getStack = () => new Error().stack.replace(/^(?:Error.*\n)?(?:.*\n){2}/, ""); - function debug(msg, ...rest) { - } - - function error(e, msg, ...rest) { - console.error(`${PREFIX} ${msg}`, ...rest, e, e.message, e.stack); - } + Object.assign(globalThis, { + log(msg, ...rest) { + console.log(`${PREFIX} ${msg}`, ...rest); + }, + debug(msg, ...rest) { + const ts = Date.now(); + const sinceStartup = ts - startupTime; + const elapsed = ts - lastDebugTime; + lastDebugTime = ts; + }, + error(e, msg, ...rest) { + console.error(e, `${PREFIX} ${msg}`, ...rest, getStack()); + }, + }); } |