@cruxstack/browser-sdk
Version:
A lightweight, privacy-focused JavaScript SDK for web analytics and event tracking. Built with TypeScript, featuring automatic event capture, event-time environment snapshots, intelligent queuing, and robust error handling.
47 lines (46 loc) • 1.11 kB
JavaScript
let debugEnabled = false;
export function setDebugLog(enabled) {
debugEnabled = !!enabled;
}
export function debug(message, extra) {
if (!debugEnabled)
return;
if (extra !== undefined) {
console.log("Cruxstack:", message, extra);
}
else {
console.log("Cruxstack:", message);
}
}
export function warn(message, extra) {
if (!debugEnabled)
return;
if (extra !== undefined) {
console.warn("Cruxstack:", message, extra);
}
else {
console.warn("Cruxstack:", message);
}
}
export function error(message, err) {
if (err instanceof Error) {
console.error("Cruxstack:", message, err);
}
else if (err !== undefined) {
console.error("Cruxstack:", message, String(err));
}
else {
console.error("Cruxstack:", message);
}
}
export function formatErrorMessage(context, err) {
const base = `Cruxstack: ${context}`;
if (err instanceof Error)
return `${base}: ${err.message}`;
try {
return `${base}: ${String(err)}`;
}
catch {
return base;
}
}