metallic-metrics
Version:
StatsD's client for CARTO services
38 lines (30 loc) • 3.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _metallicListeners = require('metallic-listeners');
var _metallicErrors = require('metallic-errors');
class LoggerSighupListenerMixin {
static mix(superclass) {
return class extends superclass {
constructor({ errorListener, logger }) {
super(...arguments);
if (!(errorListener instanceof _metallicListeners.ListenerInterface)) {
throw new _metallicErrors.ParentClassError(errorListener.constructor.name, _metallicListeners.ListenerInterface.name);
}
this.errorListener = errorListener;
this.logger = logger;
}
async run() {
this.errorListener.listen(err => this.logger.error('Error sending stats:', err));
return super.run();
}
async close() {
this.errorListener.remove();
return super.close();
}
};
}
}
exports.default = LoggerSighupListenerMixin;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRyaWNzLWVycm9yLWxpc3RlbmVyLW1peGluLmpzIl0sIm5hbWVzIjpbIkxvZ2dlclNpZ2h1cExpc3RlbmVyTWl4aW4iLCJtaXgiLCJzdXBlcmNsYXNzIiwiY29uc3RydWN0b3IiLCJlcnJvckxpc3RlbmVyIiwibG9nZ2VyIiwiYXJndW1lbnRzIiwibmFtZSIsInJ1biIsImxpc3RlbiIsImVyciIsImVycm9yIiwiY2xvc2UiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUVlLE1BQU1BLHlCQUFOLENBQWdDO0FBQzdDLFNBQU9DLEdBQVAsQ0FBWUMsVUFBWixFQUF3QjtBQUN0QixXQUFPLGNBQWNBLFVBQWQsQ0FBeUI7QUFDOUJDLGtCQUFhLEVBQUVDLGFBQUYsRUFBaUJDLE1BQWpCLEVBQWIsRUFBd0M7QUFDdEMsY0FBTSxHQUFHQyxTQUFUOztBQUVBLFlBQUksRUFBRUYsNkRBQUYsQ0FBSixFQUFtRDtBQUNqRCxnQkFBTSxxQ0FBcUJBLGNBQWNELFdBQWQsQ0FBMEJJLElBQS9DLEVBQXFELHFDQUFrQkEsSUFBdkUsQ0FBTjtBQUNEOztBQUVELGFBQUtILGFBQUwsR0FBcUJBLGFBQXJCO0FBQ0EsYUFBS0MsTUFBTCxHQUFjQSxNQUFkO0FBQ0Q7O0FBRUQsWUFBTUcsR0FBTixHQUFhO0FBQ1gsYUFBS0osYUFBTCxDQUFtQkssTUFBbkIsQ0FBMEJDLE9BQU8sS0FBS0wsTUFBTCxDQUFZTSxLQUFaLENBQWtCLHNCQUFsQixFQUEwQ0QsR0FBMUMsQ0FBakM7QUFDQSxlQUFPLE1BQU1GLEdBQU4sRUFBUDtBQUNEOztBQUVELFlBQU1JLEtBQU4sR0FBZTtBQUNiLGFBQUtSLGFBQUwsQ0FBbUJTLE1BQW5CO0FBQ0EsZUFBTyxNQUFNRCxLQUFOLEVBQVA7QUFDRDtBQXBCNkIsS0FBaEM7QUFzQkQ7QUF4QjRDO2tCQUExQloseUIiLCJmaWxlIjoibWV0cmljcy1lcnJvci1saXN0ZW5lci1taXhpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RlbmVySW50ZXJmYWNlIH0gZnJvbSAnbWV0YWxsaWMtbGlzdGVuZXJzJ1xuaW1wb3J0IHsgUGFyZW50Q2xhc3NFcnJvciB9IGZyb20gJ21ldGFsbGljLWVycm9ycydcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9nZ2VyU2lnaHVwTGlzdGVuZXJNaXhpbiB7XG4gIHN0YXRpYyBtaXggKHN1cGVyY2xhc3MpIHtcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBzdXBlcmNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yICh7IGVycm9yTGlzdGVuZXIsIGxvZ2dlciB9KSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cylcblxuICAgICAgICBpZiAoIShlcnJvckxpc3RlbmVyIGluc3RhbmNlb2YgTGlzdGVuZXJJbnRlcmZhY2UpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFBhcmVudENsYXNzRXJyb3IoZXJyb3JMaXN0ZW5lci5jb25zdHJ1Y3Rvci5uYW1lLCBMaXN0ZW5lckludGVyZmFjZS5uYW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lcnJvckxpc3RlbmVyID0gZXJyb3JMaXN0ZW5lclxuICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlclxuICAgICAgfVxuXG4gICAgICBhc3luYyBydW4gKCkge1xuICAgICAgICB0aGlzLmVycm9yTGlzdGVuZXIubGlzdGVuKGVyciA9PiB0aGlzLmxvZ2dlci5lcnJvcignRXJyb3Igc2VuZGluZyBzdGF0czonLCBlcnIpKVxuICAgICAgICByZXR1cm4gc3VwZXIucnVuKClcbiAgICAgIH1cblxuICAgICAgYXN5bmMgY2xvc2UgKCkge1xuICAgICAgICB0aGlzLmVycm9yTGlzdGVuZXIucmVtb3ZlKClcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb3NlKClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==