@inkdropapp/logger
Version:
Logger for Inkdrop
36 lines (31 loc) • 1.01 kB
text/typescript
import './debug.js'
import debug from 'debug'
const isBrowser =
typeof window !== 'undefined' && typeof window.document !== 'undefined'
const colorEnabled: boolean =
isBrowser ||
(typeof process === 'object' && process.env['DEBUG_COLORS'] !== 'false')
export function createLogger(name: string, colorEnabled: boolean = true) {
if (!name) {
name = 'app'
}
const logDebug: debug.Debugger = debug(name + ':debug')
logDebug.useColors = colorEnabled
logDebug.log = console.log.bind(console)
const logError = debug(name + ':error')
logError.log = console.error.bind(console)
logError.useColors = colorEnabled
const logWarn = debug(name + ':warn')
logWarn.log = console.warn.bind(console)
logWarn.useColors = colorEnabled
const logInfo = debug(name + ':info')
logInfo.log = console.info.bind(console)
logInfo.useColors = colorEnabled
return {
debug: logDebug,
info: logInfo,
warn: logWarn,
error: logError
}
}
export default createLogger('app', colorEnabled)