UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

56 lines (55 loc) 1.41 kB
"use strict"; 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); }