forked from public/fvtt-cthulhu-eternal
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
var log = require('gulplog');
|
|
var messages = require('@gulpjs/messages');
|
|
|
|
var formatError = require('../format-error');
|
|
|
|
// Wire up logging events
|
|
function logEvents(gulpInst) {
|
|
|
|
var loggedErrors = [];
|
|
|
|
gulpInst.on('start', function(evt) {
|
|
/* istanbul ignore next */
|
|
// TODO: batch these
|
|
// so when 5 tasks start at once it only logs one time with all 5
|
|
var level = evt.branch ? 'debug' : 'info';
|
|
log[level]({ tag: messages.TASK_START, task: evt.name });
|
|
});
|
|
|
|
gulpInst.on('stop', function(evt) {
|
|
/* istanbul ignore next */
|
|
var level = evt.branch ? 'debug' : 'info';
|
|
log[level]({ tag: messages.TASK_STOP, task: evt.name, duration: evt.duration });
|
|
});
|
|
|
|
gulpInst.on('error', function(evt) {
|
|
var level = evt.branch ? 'debug' : 'error';
|
|
log[level]({ tag: messages.TASK_FAILURE, task: evt.name, duration: evt.duration });
|
|
|
|
// If we haven't logged this before, log it and add to list
|
|
if (loggedErrors.indexOf(evt.error) === -1) {
|
|
log.error({ tag: messages.TASK_ERROR, message: formatError(evt) });
|
|
loggedErrors.push(evt.error);
|
|
}
|
|
});
|
|
}
|
|
|
|
module.exports = logEvents;
|