41 lines
1.1 KiB
JavaScript
Executable File
41 lines
1.1 KiB
JavaScript
Executable File
const gulp = require('gulp');
|
|
const gutil = require('gulp-util');
|
|
const col = gutil.colors;
|
|
const net = require('net');
|
|
const through = require('through2');
|
|
|
|
const color = (level) => {
|
|
return {
|
|
'[DEBUG]': col.white,
|
|
'[INFO]': col.cyan,
|
|
'[ERROR]': col.red,
|
|
'[WARNING]': col.yellow,
|
|
}[level] || col.reset;
|
|
};
|
|
|
|
const log = (line) => {
|
|
const result = line.split(' ');
|
|
console.log(col.gray(result[0]) + ' ' + color(result[1])(result.slice(1).join(' ')));
|
|
};
|
|
|
|
module.exports = () => {
|
|
return through.obj(function (file, enc, callback) {
|
|
const server = net.createServer((socket) => {
|
|
socket.on("data", (data) => {
|
|
const lines = data.toString().split('\n');
|
|
for (let line of lines) if (line.length > 2) {
|
|
log(line.substr(2));
|
|
}
|
|
});
|
|
socket.on("close", () => {
|
|
socket.destroy();
|
|
server.close();
|
|
this.emit('end');
|
|
callback();
|
|
});
|
|
});
|
|
server.listen(5000);
|
|
})
|
|
};
|
|
|
|
module.exports.log = log; |