UNPKG

@steambrew/client

Version:
46 lines (42 loc) 1.96 kB
const styles = { module: 'background: white; color: black; padding: 2px 6px; font-weight: bold;', name: 'background: rgb(181, 181, 181); color: black; padding: 2px 6px; font-weight: bold;', reset: 'background: transparent;', debug: 'background: #1abc9c; color: white; padding: 2px 6px; font-weight: bold;', warn: 'background: #ffbb00; color: white; padding: 2px 6px; font-weight: bold;', error: 'background: #FF0000; color: white; padding: 2px 6px; font-weight: bold;', }; const format = (moduleName: string, name: string, style: string) => [`%c${moduleName}%c${name}%c`, styles.module, style, styles.reset]; export const log = (moduleName: string, name: string, ...args: any[]) => console.log(...format(moduleName, name, styles.name), ...args); export const group = (moduleName: string, name: string, ...args: any[]) => console.group(...format(moduleName, name, styles.name), ...args); export const debug = (moduleName: string, name: string, ...args: any[]) => console.debug(...format(moduleName, name, styles.debug), ...args); export const warn = (moduleName: string, name: string, ...args: any[]) => console.warn(...format(moduleName, name, styles.warn), ...args); export const error = (moduleName: string, name: string, ...args: any[]) => console.error(...format(moduleName, name, styles.error), ...args); export const groupEnd = (...args: any[]) => { console.groupEnd(); if (args.length) console.log(...args); }; export default class Logger { constructor( private name: string, private moduleName = 'Millennium', ) {} log(...args: any[]) { log(this.moduleName, this.name, ...args); } debug(...args: any[]) { debug(this.moduleName, this.name, ...args); } warn(...args: any[]) { warn(this.moduleName, this.name, ...args); } error(...args: any[]) { error(this.moduleName, this.name, ...args); } group(...args: any[]) { group(this.moduleName, this.name, ...args); } groupEnd(...args: any[]) { groupEnd(...args); } }