Files
dandelion/src/log.ts

37 lines
787 B
TypeScript

let logLines: string[] = [];
let logLength = 100;
let logVisible = false;
export function setLogVisibility(visible:boolean) {
logVisible = visible;
}
export function renderLog() {
if (!logVisible) {
return;
}
let log = document.getElementById("log");
if (!log) {
throw new Error();
}
log.innerText = logLines.join("\n");
}
export function log(...args: any[]): any {
// console.log(...args);
let logLine = `[${new Date().toLocaleTimeString()}]: `;
for (let arg of args) {
logLine += (typeof arg === "string" || arg instanceof String) ? arg : JSON.stringify(arg, null, 4);
}
logLines.push(logLine + "\n");
if (logLines.length > logLength) {
logLines = logLines.slice(logLines.length - logLength);
}
renderLog();
return [...args];
}