log4js-node/examples/example-socket.js
2022-06-23 01:00:07 +08:00

49 lines
1.1 KiB
JavaScript

const log4js = require('../lib/log4js');
const cluster = require('cluster');
const numCPUs = require('os').cpus().length;
let i = 0;
if (cluster.isMaster) {
log4js.configure({
appenders: {
console: { type: 'console' },
master: {
type: 'multiprocess',
mode: 'master',
appender: 'console',
},
},
categories: {
default: { appenders: ['console'], level: 'info' },
},
});
console.info('Master creating %d workers', numCPUs);
for (i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', (worker) => {
console.info('Worker %d died.', worker.pid);
});
} else {
log4js.configure({
appenders: {
worker: { type: 'multiprocess', mode: 'worker' },
},
categories: {
default: { appenders: ['worker'], level: 'info' },
},
});
const logger = log4js.getLogger('example-socket');
console.info('Worker %d started.', process.pid);
for (i = 0; i < 1000; i++) {
logger.info('Worker %d - logging something %d', process.pid, i);
}
log4js.shutdown(() => {
process.exit();
});
}