UNPKG

coz-logger

Version:
126 lines (108 loc) 10.8 kB
/** * Bud file logger. * @memberof module:coz-logger/lib * @inner * @constructor CozLogger * @param {boolean} verbose - Lob verbose or not. */ 'use strict'; var _require = require('util'), format = _require.format; var path = require('path'); var argx = require('argx'); var colorprint = require('colorprint'); /** @lends CozLogger */ module.exports = colorprint.define({ /** * Log about bud rendering. * @param {Bud} bud - Bud to log. * @param {cozLogCallback} callback - Callback when done. */ logRendering: function logRendering(bud, callback) { var _this = this; var args = argx(arguments); callback = args.pop('function') || argx.noop; [].concat(bud).forEach(function (bud) { if (!bud.at) { return; } var generated = path.relative(process.cwd(), bud.path); _this.debug('File generated: ' + generated); if (_this.verbose) { _this.trace({ src: bud.src, path: bud.path, force: bud.force, mode: bud.mode }); } }); callback(null, bud); }, /** * Log about bud cleaning. * @param {Bud} bud - Bud to log. * @param {cozLogCallback} callback - Callback when done. */ logClearing: function logClearing(bud, callback) { var _this2 = this; var args = argx(arguments); callback = args.pop('function') || argx.noop; bud = [].concat(bud); bud.forEach(function (bud) { if (bud.done) { return; } var cleaned = path.relative(process.cwd(), bud.path); _this2.debug('File cleaned:' + cleaned); if (_this2.verbose) { _this2.trace({ src: bud.src, path: bud.path, force: bud.force, mode: bud.mode }); } }); callback(null, bud); }, /** * Emit start log about task finished. * @param {string} name - Task name. * @param {Date} startDate - Date of started. * @param {function} callback - Callback when done. */ infoStarted: function infoStarted(name, startDate, callback) { var args = argx(arguments); callback = args.pop('function') || argx.noop; var msg = format('%s started...', name); this.info(msg); callback(null); }, /** * Emit info log about task finished. * @param {string} name - Task name. * @param {Date} startDate - Date of started. * @param {Date} endDate - Date of ended. * @param {function} callback - Callback when done. */ infoFinished: function infoFinished(name, startDate, endDate, callback) { var args = argx(arguments); callback = args.pop('function') || argx.noop; var msg = format('...done!(%dms)', endDate - startDate); this.info(msg); callback(null); } }); /** * Callback for bud log. * @memberof module:coz-logger/lib * @inner * @callback cozLogCallback * @param {?Error} error - Render error. * @param {Bud} bud - Logged bud. */ /** * @external Bud */ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvel9sb2dnZXIuanMiXSwibmFtZXMiOlsicmVxdWlyZSIsImZvcm1hdCIsInBhdGgiLCJhcmd4IiwiY29sb3JwcmludCIsIm1vZHVsZSIsImV4cG9ydHMiLCJkZWZpbmUiLCJsb2dSZW5kZXJpbmciLCJidWQiLCJjYWxsYmFjayIsImFyZ3MiLCJhcmd1bWVudHMiLCJwb3AiLCJub29wIiwiY29uY2F0IiwiZm9yRWFjaCIsImF0IiwiZ2VuZXJhdGVkIiwicmVsYXRpdmUiLCJwcm9jZXNzIiwiY3dkIiwiZGVidWciLCJ2ZXJib3NlIiwidHJhY2UiLCJzcmMiLCJmb3JjZSIsIm1vZGUiLCJsb2dDbGVhcmluZyIsImRvbmUiLCJjbGVhbmVkIiwiaW5mb1N0YXJ0ZWQiLCJuYW1lIiwic3RhcnREYXRlIiwibXNnIiwiaW5mbyIsImluZm9GaW5pc2hlZCIsImVuZERhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBUUE7O2VBRW1CQSxPQUFPLENBQUMsTUFBRCxDO0lBQWxCQyxNLFlBQUFBLE07O0FBQ1IsSUFBTUMsSUFBSSxHQUFHRixPQUFPLENBQUMsTUFBRCxDQUFwQjs7QUFDQSxJQUFNRyxJQUFJLEdBQUdILE9BQU8sQ0FBQyxNQUFELENBQXBCOztBQUNBLElBQU1JLFVBQVUsR0FBR0osT0FBTyxDQUFDLFlBQUQsQ0FBMUI7QUFFQTs7O0FBQ0FLLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQkYsVUFBVSxDQUFDRyxNQUFYLENBQWtCO0FBQ2pDOzs7OztBQUtBQyxFQUFBQSxZQU5pQyx3QkFNcEJDLEdBTm9CLEVBTWZDLFFBTmUsRUFNTDtBQUFBOztBQUMxQixRQUFJQyxJQUFJLEdBQUdSLElBQUksQ0FBQ1MsU0FBRCxDQUFmO0FBQ0FGLElBQUFBLFFBQVEsR0FBR0MsSUFBSSxDQUFDRSxHQUFMLENBQVMsVUFBVCxLQUF3QlYsSUFBSSxDQUFDVyxJQUF4QztBQUNBLE9BQUdDLE1BQUgsQ0FBVU4sR0FBVixFQUFlTyxPQUFmLENBQXVCLFVBQUNQLEdBQUQsRUFB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QUFULEtBQXdCVixJQUFJLENBQUNXLElBQXhDO0FBQ0EsUUFBSW9CLEdBQUcsR0FBR2pDLE1BQU0sQ0FBQyxnQkFBRCxFQUFtQm9DLE9BQU8sR0FBR0osU0FBN0IsQ0FBaEI7QUFDQSxTQUFLRSxJQUFMLENBQVVELEdBQVY7QUFDQXhCLElBQUFBLFFBQVEsQ0FBQyxJQUFELENBQVI7QUFDRDtBQWpGZ0MsQ0FBbEIsQ0FBakI7QUFxRkE7Ozs7Ozs7OztBQVNBIiwic291cmNlUm9vdCI6Ii4uLy4uL2xpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnVkIGZpbGUgbG9nZ2VyLlxuICogQG1lbWJlcm9mIG1vZHVsZTpjb3otbG9nZ2VyL2xpYlxuICogQGlubmVyXG4gKiBAY29uc3RydWN0b3IgQ296TG9nZ2VyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHZlcmJvc2UgLSBMb2IgdmVyYm9zZSBvciBub3QuXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IHsgZm9ybWF0IH0gPSByZXF1aXJlKCd1dGlsJylcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJylcbmNvbnN0IGFyZ3ggPSByZXF1aXJlKCdhcmd4JylcbmNvbnN0IGNvbG9ycHJpbnQgPSByZXF1aXJlKCdjb2xvcnByaW50JylcblxuLyoqIEBsZW5kcyBDb3pMb2dnZXIgKi9cbm1vZHVsZS5leHBvcnRzID0gY29sb3JwcmludC5kZWZpbmUoe1xuICAvKipcbiAgICogTG9nIGFib3V0IGJ1ZCByZW5kZXJpbmcuXG4gICAqIEBwYXJhbSB7QnVkfSBidWQgLSBCdWQgdG8gbG9nLlxuICAgKiBAcGFyYW0ge2NvekxvZ0NhbGxiYWNrfSBjYWxsYmFjayAtIENhbGxiYWNrIHdoZW4gZG9uZS5cbiAgICovXG4gIGxvZ1JlbmRlcmluZyhidWQsIGNhbGxiYWNrKSB7XG4gICAgbGV0IGFyZ3MgPSBhcmd4KGFyZ3VtZW50cylcbiAgICBjYWxsYmFjayA9IGFyZ3MucG9wKCdmdW5jdGlvbicpIHx8IGFyZ3gubm9vcDtcbiAgICBbXS5jb25jYXQoYnVkKS5mb3JFYWNoKChidWQpID0+IHtcbiAgICAgIGlmICghYnVkLmF0KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgbGV0IGdlbmVyYXRlZCA9IHBhdGgucmVsYXRpdmUocHJvY2Vzcy5jd2QoKSwgYnVkLnBhdGgpXG4gICAgICB0aGlzLmRlYnVnKCdGaWxlIGdlbmVyYXRlZDogJyArIGdlbmVyYXRlZClcbiAgICAgIGlmICh0aGlzLnZlcmJvc2UpIHtcbiAgICAgICAgdGhpcy50cmFjZSh7XG4gICAgICAgICAgc3JjOiBidWQuc3JjLFxuICAgICAgICAgIHBhdGg6IGJ1ZC5wYXRoLFxuICAgICAgICAgIGZvcmNlOiBidWQuZm9yY2UsXG4gICAgICAgICAgbW9kZTogYnVkLm1vZGVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICAgIGNhbGxiYWNrKG51bGwsIGJ1ZClcbiAgfSxcblxuICAvKipcbiAgICogTG9nIGFib3V0IGJ1ZCBjbGVhbmluZy5cbiAgICogQHBhcmFtIHtCdWR9IGJ1ZCAtIEJ1ZCB0byBsb2cuXG4gICAqIEBwYXJhbSB7Y296TG9nQ2FsbGJhY2t9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgd2hlbiBkb25lLlxuICAgKi9cbiAgbG9nQ2xlYXJpbmcoYnVkLCBjYWxsYmFjaykge1xuICAgIGxldCBhcmdzID0gYXJneChhcmd1bWVudHMpXG4gICAgY2FsbGJhY2sgPSBhcmdzLnBvcCgnZnVuY3Rpb24nKSB8fCBhcmd4Lm5vb3BcbiAgICBidWQgPSBbXS5jb25jYXQoYnVkKVxuICAgIGJ1ZC5mb3JFYWNoKChidWQpID0+IHtcbiAgICAgIGlmIChidWQuZG9uZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGxldCBjbGVhbmVkID0gcGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBidWQucGF0aClcbiAgICAgIHRoaXMuZGVidWcoJ0ZpbGUgY2xlYW5lZDonICsgY2xlYW5lZClcbiAgICAgIGlmICh0aGlzLnZlcmJvc2UpIHtcbiAgICAgICAgdGhpcy50cmFjZSh7XG4gICAgICAgICAgc3JjOiBidWQuc3JjLFxuICAgICAgICAgIHBhdGg6IGJ1ZC5wYXRoLFxuICAgICAgICAgIGZvcmNlOiBidWQuZm9yY2UsXG4gICAgICAgICAgbW9kZTogYnVkLm1vZGVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICAgIGNhbGxiYWNrKG51bGwsIGJ1ZClcbiAgfSxcblxuICAvKipcbiAgICogRW1pdCBzdGFydCBsb2cgYWJvdXQgdGFzayBmaW5pc2hlZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUYXNrIG5hbWUuXG4gICAqIEBwYXJhbSB7RGF0ZX0gc3RhcnREYXRlIC0gRGF0ZSBvZiBzdGFydGVkLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFjayAtIENhbGxiYWNrIHdoZW4gZG9uZS5cbiAgICovXG4gIGluZm9TdGFydGVkKG5hbWUsIHN0YXJ0RGF0ZSwgY2FsbGJhY2spIHtcbiAgICBsZXQgYXJncyA9IGFyZ3goYXJndW1lbnRzKVxuICAgIGNhbGxiYWNrID0gYXJncy5wb3AoJ2Z1bmN0aW9uJykgfHwgYXJneC5ub29wXG4gICAgbGV0IG1zZyA9IGZvcm1hdCgnJXMgc3RhcnRlZC4uLicsIG5hbWUpXG4gICAgdGhpcy5pbmZvKG1zZylcbiAgICBjYWxsYmFjayhudWxsKVxuICB9LFxuXG4gIC8qKlxuICAgKiBFbWl0IGluZm8gbG9nIGFib3V0IHRhc2sgZmluaXNoZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGFzayBuYW1lLlxuICAgKiBAcGFyYW0ge0RhdGV9IHN0YXJ0RGF0ZSAtIERhdGUgb2Ygc3RhcnRlZC5cbiAgICogQHBhcmFtIHtEYXRlfSBlbmREYXRlIC0gRGF0ZSBvZiBlbmRlZC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBDYWxsYmFjayB3aGVuIGRvbmUuXG4gICAqL1xuICBpbmZvRmluaXNoZWQobmFtZSwgc3RhcnREYXRlLCBlbmREYXRlLCBjYWxsYmFjaykge1xuICAgIGxldCBhcmdzID0gYXJneChhcmd1bWVudHMpXG4gICAgY2FsbGJhY2sgPSBhcmdzLnBvcCgnZnVuY3Rpb24nKSB8fCBhcmd4Lm5vb3BcbiAgICBsZXQgbXNnID0gZm9ybWF0KCcuLi5kb25lISglZG1zKScsIGVuZERhdGUgLSBzdGFydERhdGUpXG4gICAgdGhpcy5pbmZvKG1zZylcbiAgICBjYWxsYmFjayhudWxsKVxuICB9XG5cbn0pXG5cbi8qKlxuICogQ2FsbGJhY2sgZm9yIGJ1ZCBsb2cuXG4gKiBAbWVtYmVyb2YgbW9kdWxlOmNvei1sb2dnZXIvbGliXG4gKiBAaW5uZXJcbiAqIEBjYWxsYmFjayBjb3pMb2dDYWxsYmFja1xuICogQHBhcmFtIHs/RXJyb3J9IGVycm9yIC0gUmVuZGVyIGVycm9yLlxuICogQHBhcmFtIHtCdWR9IGJ1ZCAtIExvZ2dlZCBidWQuXG4gKi9cblxuLyoqXG4gKiBAZXh0ZXJuYWwgQnVkXG4gKi9cbiJdfQ==