logify
Version:
Logging framework for node and the browser
43 lines (31 loc) • 1.18 kB
JavaScript
;
var _Promise = require('babel-runtime/core-js/promise')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
exports['default'] = create;
var _dgram = require('dgram');
var _dgram2 = _interopRequireDefault(_dgram);
var _formatterJsonLine = require('../formatter/json-line');
var _formatterJsonLine2 = _interopRequireDefault(_formatterJsonLine);
function create() {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
opts.type = opts.type || 'udp4';
opts.host = opts.host || 'localhost';
opts.port = opts.port || 8192;
opts.layout = opts.layout || _formatterJsonLine2['default'];
var socket = _dgram2['default'].createSocket(opts.type);
return function log(entry) {
var message = opts.layout(entry);
return new _Promise(function (resolve, reject) {
socket.send(message, 0, message.length, opts.port, opts.host, function (err) {
if (err) {
return reject(err);
}
resolve();
});
});
};
}
module.exports = exports['default'];