8000 Merge pull request #762 from florianreinhart/patch-1 · lianxuify/log4js-node@2acfce3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2acfce3

Browse files
authored
Merge pull request log4js-node#762 from florianreinhart/patch-1
Fix duplicate log messages in TCP server (fixes log4js-node#761)
2 parents e73bd48 + beb4f5d commit 2acfce3

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

lib/appenders/tcp-server.js

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,31 @@ const LoggingEvent = require('../LoggingEvent');
55

66
const DELIMITER = '__LOG4JS__';
77

8-
let dataSoFar = '';
9-
const send = (data) => {
10-
if (data) {
11-
dataSoFar += data;
12-
if (dataSoFar.indexOf(DELIMITER)) {
13-
const events = dataSoFar.split(DELIMITER);
14-
if (!dataSoFar.endsWith(DELIMITER)) {
15-
dataSoFar = events.pop();
16-
}
17-
events.filter(e => e.length).forEach((e) => {
18-
clustering.send(LoggingEvent.deserialise(e));
19-
});
20-
}
21-
}
22-
};
23-
248
exports.configure = (config) => {
259
debug('configure called with ', config);
2610
// dummy shutdown if we're not master
2711
let shutdown = (cb) => { cb(); };
2812

2913
clustering.onlyOnMaster(() => {
3014
const server = net.createServer((socket) => {
15+
let dataSoFar = '';
16+
const send = (data) => {
17+
if (data) {
18+
dataSoFar += data;
19+
if (dataSoFar.indexOf(DELIMITER)) {
20+
const events = dataSoFar.split(DELIMITER);
21+
if (!dataSoFar.endsWith(DELIMITER)) {
22+
dataSoFar = events.pop();
23+
} else {
24+
dataSoFar = '';
25+
}
26+
events.filter(e => e.length).forEach((e) => {
27+
clustering.send(LoggingEvent.deserialise(e));
28+
});
29+
}
30+
}
31+
};
32+
3133
socket.setEncoding('utf8');
3234
socket.on('data', send);
3335
socket.on('end', send);

0 commit comments

Comments
 (0)
0