Repository URL to install this package:
|
Version:
1.2.14 ▾
|
const { defineFinal, hasOwnProperty } = require('chain-able/exports')
const LOGS = {}
const MAKE_LOGGER = (level, ONLY_IN_ENV) => (...args) => {
// only define when we use this level
if (!hasOwnProperty(LOGS, level)) {
defineFinal(LOGS, level, new Set())
}
for (let i = 0; i < args.length; i++) {
LOGS[level].add(args[i])
}
}
exports.emergency = MAKE_LOGGER('emergency')
exports.alert = MAKE_LOGGER('alert')
exports.critical = MAKE_LOGGER('critical')
exports.error = MAKE_LOGGER('error')
exports.warning = MAKE_LOGGER('warning')
exports.notice = MAKE_LOGGER('notice')
exports.info = MAKE_LOGGER('info')
exports.debug = () => {
if (process.env.DEBUG !== true) {
return
}
console.log.apply(console, arguments)
}
let logged = false
exports.once = function(msg) {
if (logged === false) {
logged = true
console.log(msg)
}
}
// let logged = new WeakMap()
// exports.once = function(msg) {
// if (logged.has(msg) === false) {
// logged.has(msg) = true
// console.log(msg)
// }
// }
exports.emergency = emergency
export { emergency, alert, critical, error, warning, notice, info, debug, once }