UNPKG

@dash0/sdk-web

Version:

Dash0's Web SDK to collect telemetry from end-users' web browsers

30 lines (29 loc) 919 B
import { noop } from "./fn"; const logLevels = { debug: 0, info: 1, warn: 2, error: 3, }; let activeLogLevel = logLevels.warn; /** * Changes the logging verbosity of Dash0's web SDK. By default, only warnings and errors are logged. */ export function setActiveLogLevel(level) { activeLogLevel = logLevels[level] ?? logLevels.warn; } export const info = createLogger("info"); export const warn = createLogger("warn"); export const error = createLogger("error"); export const debug = createLogger("debug"); function createLogger(logLevel) { if (typeof console !== "undefined" && console[logLevel] && typeof console[logLevel].apply === "function") { const numericLogLevel = logLevels[logLevel]; return function () { if (numericLogLevel >= activeLogLevel) { console[logLevel].apply(console, arguments); } }; } return noop; }