mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
fix(pm2): was missing logs on instance=0
This commit is contained in:
parent
9b0dff3033
commit
fc3b0e243c
@ -12,8 +12,15 @@ log4js.configure({
|
||||
pm2: true,
|
||||
pm2InstanceVar: 'INSTANCE_ID'
|
||||
});
|
||||
|
||||
const logger = log4js.getLogger('app');
|
||||
setInterval(() => {
|
||||
logger.info("I'm forever blowing bubbles");
|
||||
}, 1000);
|
||||
logger.info("I'm forever blowing bubbles ", process.env.INSTANCE_ID);
|
||||
logger.info("I'm forever blowing bubbles ", process.env.INSTANCE_ID);
|
||||
logger.info("I'm forever blowing bubbles ", process.env.INSTANCE_ID);
|
||||
logger.info("I'm forever blowing bubbles ", process.env.INSTANCE_ID);
|
||||
logger.info('last bubbles', process.env.INSTANCE_ID);
|
||||
// give pm2 time to set everything up, before we tear it down
|
||||
setTimeout(() => {
|
||||
log4js.shutdown(() => {
|
||||
console.error('All done, shutdown cb returned.');
|
||||
});
|
||||
}, 5000);
|
||||
|
||||
@ -142,6 +142,14 @@ function workerDispatch(logEvent) {
|
||||
process.send({ topic: 'log4js:message', data: serialise(logEvent) });
|
||||
}
|
||||
|
||||
function isPM2Master() {
|
||||
return config.pm2 && process.env[config.pm2InstanceVar] === '0';
|
||||
}
|
||||
|
||||
function isMaster() {
|
||||
return cluster.isMaster || isPM2Master();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a logger instance.
|
||||
* @static
|
||||
@ -150,8 +158,8 @@ function workerDispatch(logEvent) {
|
||||
*/
|
||||
function getLogger(category) {
|
||||
const cat = category || 'default';
|
||||
debug(`creating logger as ${cluster.isMaster ? 'master' : 'worker'}`);
|
||||
return new Logger((cluster.isMaster ? sendLogEventToAppender : workerDispatch), cat);
|
||||
debug(`creating logger as ${isMaster() ? 'master' : 'worker'}`);
|
||||
return new Logger((isMaster() ? sendLogEventToAppender : workerDispatch), cat);
|
||||
}
|
||||
|
||||
function loadConfigurationFile(filename) {
|
||||
@ -194,7 +202,7 @@ function configure(configurationFileOrObject) {
|
||||
// PM2 cluster support
|
||||
// PM2 runs everything as workers - install pm2-intercom for this to work.
|
||||
// we only want one of the app instances to write logs
|
||||
if (config.pm2 && process.env[config.pm2InstanceVar] === '0') {
|
||||
if (isPM2Master()) {
|
||||
debug('listening for PM2 broadcast messages');
|
||||
process.removeListener('message', receiver);
|
||||
process.on('message', receiver);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user