@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
56 lines (55 loc) • 1.41 kB
JavaScript
;
import { BaseCoreLogger } from "./Base";
export class ConsoleLogger extends BaseCoreLogger {
log(message, ...optionalParams) {
console.log(...[message, ...optionalParams]);
}
warn(...args) {
console.warn(...args);
}
error(...args) {
console.error(...args);
}
}
export function logBlue(message) {
console.log("%c" + message, "color:blue; font-weight:bold;");
}
export function logRedBg(message) {
logStyled(message, {
backgroundColor: "red",
color: "white",
fontWeight: "bold",
padding: { x: 10, y: 5 }
});
}
export function logGreenBg(message) {
logStyled(message, {
backgroundColor: "green",
color: "white",
fontWeight: "bold",
padding: { x: 10, y: 5 }
});
}
export function logBlueBg(message) {
logStyled(message, {
backgroundColor: "blue",
color: "white",
fontWeight: "bold",
padding: { x: 10, y: 5 }
});
}
export function logStyled(message, style) {
const styleString = Object.entries(style).map(([key, value]) => {
const propName = key.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`);
if (key == "padding") {
const padding = value;
return `padding: ${padding.y || 0}px ${padding.x || 0}px`;
} else {
return `${propName}: ${value}`;
}
}).join("; ");
console.log("%c" + message, styleString);
}
export function logDefault(message) {
console.log(message);
}