39 lines
856 B
JavaScript
39 lines
856 B
JavaScript
/* eslint no-console: 0 */
|
|
const zeroPad = (str, len) => {
|
|
let output = `${str}`;
|
|
if (!len || len <= output.length) return str;
|
|
|
|
while (output.length < len) {
|
|
output = `0${output}`;
|
|
}
|
|
return output;
|
|
};
|
|
|
|
const wrapMessage = msg => {
|
|
const d = new Date();
|
|
const timestamp = `${[d.getFullYear(), zeroPad(d.getMonth(), 2), zeroPad(d.getDate(), 2)].join(
|
|
'/'
|
|
)} ${[zeroPad(d.getHours(), 2), zeroPad(d.getMinutes(), 2), zeroPad(d.getSeconds(), 2)].join(
|
|
':'
|
|
)}`;
|
|
return `[${timestamp}]: ${msg.join(' ')}`;
|
|
};
|
|
|
|
const logger = {
|
|
log(...args) {
|
|
console.log(wrapMessage(args));
|
|
},
|
|
warn(...args) {
|
|
console.warn(wrapMessage(args));
|
|
},
|
|
error(...args) {
|
|
console.error(wrapMessage(args));
|
|
},
|
|
debug(...args) {
|
|
if (!process.env.DEBUG) return;
|
|
console.log(wrapMessage(args));
|
|
},
|
|
};
|
|
|
|
export default logger;
|