8000 added cluster identifier support · yanxi123-com/log4js-node@b694fd1 · GitHub
[go: up one dir, main page]

Skip to content

Commit b694fd1

Browse files
committed
added cluster identifier support
1 parent ec5f448 commit b694fd1

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

lib/appenders/clustered.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,15 @@ function createAppender(config) {
8787
// console.log("master : " + cluster.isMaster + " received message: " + JSON.stringify(message.event));
8888

8989
var loggingEvent = deserializeLoggingEvent(message.event);
90+
91+
// Adding PID metadata
92+
loggingEvent.pid = worker.process.pid;
93+
loggingEvent.cluster = {
94+
master: process.pid,
95+
worker: worker.process.pid,
96+
workerId: worker.id
97+
};
98+
9099
masterAppender(loggingEvent);
91100
}
92101
});

lib/layouts.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ function messagePassThroughLayout (loggingEvent) {
145145
*/
146146
function patternLayout (pattern, tokens) {
147147
var TTCC_CONVERSION_PATTERN = "%r %p %c - %m%n";
148-
var regex = /%(-?[0-9]+)?(\.?[0-9]+)?([\[\]cdhmnprzx%])(\{([^\}]+)\})?|([^%]+)/;
148+
var regex = /%(-?[0-9]+)?(\.?[0-9]+)?([\[\]cdhmnprzxy%])(\{([^\}]+)\})?|([^%]+)/;
149149

150150
pattern = pattern || TTCC_CONVERSION_PATTERN;
151151

@@ -212,8 +212,25 @@ function patternLayout (pattern, tokens) {
212212
return '%';
213213
}
214214

215-
function pid() {
216-
return process.pid;
215+
function pid(loggingEvent) {
216+
if (loggingEvent.pid) {
217+
return loggingEvent.pid;
218+
} else {
219+
return process.pid;
220+
}
221+
}
222+
223+
function clusterInfo(loggingEvent, specifier) {
224+
if (loggingEvent.cluster && specifier) {
225+
return specifier
226+
.replace('%m', loggingEvent.cluster.master)
227+
.replace('%w', loggingEvent.cluster.worker)
228+
.replace('%i', loggingEvent.cluster.workerId);
229+
} else if (loggingEvent.cluster) {
230+
return loggingEvent.cluster.worker+'@'+loggingEvent.cluster.master;
231+
} else {
232+
return pid();
233+
}
217234
}
218235

219236
function userDefined(loggingEvent, specifier) {
@@ -237,6 +254,7 @@ function patternLayout (pattern, tokens) {
237254
'r': startTime,
238255
'[': startColour,
239256
']': endColour,
257+
'y': clusterInfo,
240258
'z': pid,
241259
'%': percent,
242260
'x': userDefined

0 commit comments

Comments
 (0)
0