|
|
|
@ -38,31 +38,30 @@ function logServer(config) {
|
|
|
|
|
var actualAppender = config.actualAppender,
|
|
|
|
|
server = net.createServer(function serverCreated(clientSocket) {
|
|
|
|
|
clientSocket.setEncoding('utf8');
|
|
|
|
|
clientSocket.on('connect', function clientConnected() {
|
|
|
|
|
var logMessage = '';
|
|
|
|
|
var logMessage = '';
|
|
|
|
|
|
|
|
|
|
function logTheMessage(msg) {
|
|
|
|
|
if (logMessage.length > 0) {
|
|
|
|
|
actualAppender(deserializeLoggingEvent(clientSocket, msg));
|
|
|
|
|
}
|
|
|
|
|
function logTheMessage(msg) {
|
|
|
|
|
if (logMessage.length > 0) {
|
|
|
|
|
actualAppender(deserializeLoggingEvent(clientSocket, msg));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function chunkReceived(chunk) {
|
|
|
|
|
var event;
|
|
|
|
|
logMessage += chunk || '';
|
|
|
|
|
if (logMessage.indexOf(END_MSG) > -1) {
|
|
|
|
|
event = logMessage.substring(0, logMessage.indexOf(END_MSG));
|
|
|
|
|
logTheMessage(event);
|
|
|
|
|
logMessage = logMessage.substring(event.length + END_MSG.length) || '';
|
|
|
|
|
//check for more, maybe it was a big chunk
|
|
|
|
|
chunkReceived();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function chunkReceived(chunk) {
|
|
|
|
|
var event;
|
|
|
|
|
logMessage += chunk || '';
|
|
|
|
|
if (logMessage.indexOf(END_MSG) > -1) {
|
|
|
|
|
event = logMessage.substring(0, logMessage.indexOf(END_MSG));
|
|
|
|
|
logTheMessage(event);
|
|
|
|
|
logMessage = logMessage.substring(event.length + END_MSG.length) || '';
|
|
|
|
|
//check for more, maybe it was a big chunk
|
|
|
|
|
chunkReceived();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
clientSocket.on('data', chunkReceived);
|
|
|
|
|
clientSocket.on('end', chunkReceived);
|
|
|
|
|
});
|
|
|
|
|
clientSocket.on('data', chunkReceived);
|
|
|
|
|
clientSocket.on('end', chunkReceived);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
server.listen(config.loggerPort || 5000, config.loggerHost || 'localhost');
|
|
|
|
|
|
|
|
|
|
return actualAppender;
|
|
|
|
|