UNPKG

@sdc-monitor/demo

Version:

<div align="center"> <a href="#" target="_blank"> <img src="https://i.loli.net/2021/07/28/EvPwd4NjVH3tBfO.jpg" alt="mito-logo" height="90"> </a> <p>A Lightweight SDK For Monitor Web</p>

59 lines (51 loc) 1.32 kB
import { _global, _support } from './global' const PREFIX = 'MITO Logger' export class Logger { private enabled = false private _console: Console = {} as Console constructor() { _global.console = console || _global.console if (console || _global.console) { const logType = ['log', 'debug', 'info', 'warn', 'error', 'assert'] logType.forEach((level) => { if (!(level in _global.console)) return this._console[level] = _global.console[level] }) } } disable(): void { this.enabled = false } bindOptions(debug: boolean): void { this.enabled = debug ? true : false } enable(): void { this.enabled = true } getEnableStatus() { return this.enabled } log(...args: any[]): void { if (!this.enabled) { return } this._console.log(`${PREFIX}[Log]:`, ...args) } warn(...args: any[]): void { if (!this.enabled) { return } this._console.warn(`${PREFIX}[Warn]:`, ...args) } /** * error不需要开启enable也要打印出来,提示用户错误信息 * * @param {...any[]} args * @memberof Logger */ error(...args: any[]): void { this._console.error(`${PREFIX}[Error]:`, ...args) } } const logger = _support.logger || (_support.logger = new Logger()) export { logger }