Files
gh-action-bot/src/lib/logger.mjs

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;