code: function setLevel(newLogLevel) {
           if (isNaN(newLogLevel) || newLogLevel < 0 || newLogLevel > LEVELS.silly) {
               throw Error(`setLevel(): invalid level: ${newLogLevel}`);
           }
  
           logLevel = newLogLevel;
           Object.keys(LEVELS).forEach((levelName, levelIndex) => {
               if (levelIndex <= logLevel) {
                   logger[levelName] = function logit() {
                       const msgArgs = [levelName].concat([].slice.call(arguments));
                       writeLog.apply(writeLog, msgArgs);
                   };
               } else {
                   logger[levelName] = () => {};
               }
  
           });
       }
docs: Set the log level of the logger.  Anything equal to or below this level
  will be output.  The default level is `info`. The available log levels are:
  - error
  - warn
  - info
  - verbose
  - debug
  - silly
  @param {number} newLogLevel - The new level.
  @throws {Error}
  
  @example
  log.setLevel(log.levels.error);
  
  log.debug('This happened!');
  log.info('My first info line.');
  log.warn('You have an object: ', {obj: 'a'});
  log.error('My second error line.');
  
  // Output:
  // stderr: 2017-03-10T09:44:06.394Z error: My second error line.