Logging with log levels and timestamps from moment
npm install @creative-realities/logger'MMM DD YY, hh:mm:ss[:]';
var log = require('moment-log');
log('it is about', ['time']);
`
Outputs: Feb 24 15, 05:02:21: it is about [ 'time' ]Optionally, you may set the format string for moment.js.
`
log.format = 'MMM Do YYYY, h:mm:ss a[ -]';
log('it is about', ['time']);
`
Outputs: Feb 24th 2015, 5:04:12 pm - it is about [ 'time' ]You can also access the moment dependency
`
var moment = log.moment;
var formatted = moment(1424817118663).format("MMM Do YY");
`
formatted is: Feb 24th 15log includes an enumeration for log levels
`
log.NONE = 0;
log.ERROR = 1;
log.WARN = 2;
log.INFO = 3;
log.DEBUG = 4;
log.VERBOSE = 5;
`The default log level is verbose. If you set the log level to a lower log level, like this:
`
log.logLevel = log.DEBUG;
`
then the log.verbose() will no longer log.
`
log.verbose('message');
`
Outputs: nothing.There are alias for the different log level functions.
`
log.e = log.error;
log.w = log.warn;
log.i = log.info;
log.d = log.debug;
log.v = log.verbose;
`The log.dir method is slightly different than the console.dir method, because you may optionally pass in messages before the object and options arguments.
log also provides other console methods,
trace, time, timeEnd, and assert.Instead of providing different levels of the
dir, time/timeEnd and assert methods, you may set properties that will be compared to log.logLevel to determine if logging should be performed. The default levels of each are listed below.
`
log.dirLevel = log.DEBUG;
log.timeLevel = log.INFO;
log.assertLevel = log.DEBUG;
``