mermaid/src/logger.js

46 lines
1.0 KiB
JavaScript
Raw Normal View History

2017-09-09 15:16:15 +08:00
import moment from 'moment'
2017-09-10 16:56:10 +08:00
export const LEVELS = {
debug: 1,
info: 2,
warn: 3,
error: 4,
fatal: 5
}
2017-09-10 19:41:34 +08:00
export const logger = {
2017-09-09 15:16:15 +08:00
debug: () => {},
info: () => {},
warn: () => {},
error: () => {},
fatal: () => {}
}
2017-09-09 15:16:15 +08:00
export const setLogLevel = function (level) {
2017-09-10 19:41:34 +08:00
logger.debug = () => {}
logger.info = () => {}
logger.warn = () => {}
logger.error = () => {}
logger.fatal = () => {}
2017-09-10 16:56:10 +08:00
if (level <= LEVELS.fatal) {
2017-09-10 19:41:34 +08:00
logger.fatal = console.log.bind(console, '\x1b[35m', format('FATAL'))
2017-04-11 23:46:11 +08:00
}
2017-09-10 16:56:10 +08:00
if (level <= LEVELS.error) {
2017-09-10 19:41:34 +08:00
logger.error = console.log.bind(console, '\x1b[31m', format('ERROR'))
2017-04-11 23:46:11 +08:00
}
2017-09-10 16:56:10 +08:00
if (level <= LEVELS.warn) {
2017-09-10 19:41:34 +08:00
logger.warn = console.log.bind(console, `\x1b[33m`, format('WARN'))
2017-04-11 23:46:11 +08:00
}
2017-09-10 16:56:10 +08:00
if (level <= LEVELS.info) {
2017-09-10 19:41:34 +08:00
logger.info = console.log.bind(console, '\x1b[34m', format('INFO'))
2017-04-11 23:46:11 +08:00
}
2017-09-10 16:56:10 +08:00
if (level <= LEVELS.debug) {
2017-09-10 19:41:34 +08:00
logger.debug = console.log.bind(console, '\x1b[32m', format('DEBUG'))
2017-04-11 22:14:25 +08:00
}
2015-10-04 19:30:53 +02:00
}
2017-09-10 19:41:34 +08:00
const format = (level) => {
const time = moment().format('HH:mm:ss.SSS')
return `${time} : ${level} : `
}