From 08799b48d74d12266d5ebb85811f5d3fa046b086 Mon Sep 17 00:00:00 2001 From: joe fleming Date: Tue, 23 Oct 2018 10:22:28 -0700 Subject: [PATCH] feat: debug logging and better timestamps --- src/lib/logger.mjs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/lib/logger.mjs b/src/lib/logger.mjs index 7397104..f73e47b 100644 --- a/src/lib/logger.mjs +++ b/src/lib/logger.mjs @@ -1,5 +1,23 @@ /* eslint no-console: 0 */ -const wrapMessage = msg => `${new Date()}: ${msg.join(' ')}`; +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) { @@ -11,6 +29,10 @@ const logger = { error(...args) { console.error(wrapMessage(args)); }, + debug(...args) { + if (!process.env.DEBUG) return; + console.log(wrapMessage(args)); + }, }; export default logger;