@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
text/typescript
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 }