diff --git a/logger.js b/logger.js index 8ddc418..ae4953a 100644 --- a/logger.js +++ b/logger.js @@ -2,6 +2,31 @@ const { inspect } = require('util') const self = {} +// Only show shortened version (time) during development +const short = process.env.NODE_ENV === 'development' + +const now = () => { + const time = new Date() + const parsed = { + hours: time.getHours(), + minutes: time.getMinutes(), + seconds: time.getSeconds() + } + + if (!short) { + parsed.month = time.getMonth() + 1 + parsed.date = time.getDate() + } + + // Add leading zeroes and slice + Object.keys(parsed).forEach(key => { + parsed[key] = ('0' + parsed[key]).slice(-2) + }) + + return (!short ? `${time.getFullYear()}-${parsed.month}-${parsed.date} ` : '') + + `${parsed.hours}:${parsed.minutes}:${parsed.seconds}` +} + const clean = item => { if (typeof item === 'string') return item const cleaned = inspect(item, { depth: 0 }) @@ -9,11 +34,8 @@ const clean = item => { } const write = (content, options = {}) => { - const date = new Date().toISOString() - .replace(/T/, ' ') - .replace(/\..*/, '') const stream = options.error ? process.stderr : process.stdout - stream.write(`[${date}]: ${options.prefix || ''}${clean(content)}\n`) + stream.write(`[${now()}] ${options.prefix || ''}${clean(content)}\n`) } self.log = write