
Security News
npm ‘is’ Package Hijacked in Expanding Supply Chain Attack
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.
cluster-ipc-logger
Advanced tools
This logger is designed to collect logs from cluster workers, child processes even independent node.js processes through IPC (Inter-Process Communication).
This logger is designed to collect logs from cluster workers, child processes even independent node.js processes through IPC (Inter-Process Communication).
npm i cluster-ipc-logger
import { loggerServer, loggerClient } from 'cluster-ipc-logger';
import * as cluster from 'cluster';
if (cluster.isMaster) /* master */ {
// logger master
const logger = new loggerServer({
debug: true,
directory: './logs',
saveInterval: 60000 // 1 minute
});
// logger for master
const log = new loggerClient({
system: 'master',
cluster: 0
})
// log listeners
logger
.on('fatal', (msg) => {
// on fatal logs
})
.on('error', (msg) => {
// on error logs
})
.on('all', (msg) => {
// on all logs
});
// detect ^c and save logs before exiting
process.on('SIGINT', () => {
logger.save().then(() => {
process.exit();
}).catch((err) => {
throw err;
});
});
// fork workers
for (let i = 6; i--;) {
cluster.fork({ workerId: i });
log.info(`forking worker ${i}`);
}
log.debug('debug logs only show up when debug option is set to true');
log.info('every severity of logs will be save to local storage');
log.warn('when an error or fatal log occured,');
log.error('the log content is also saved to another file with prefix [error],');
log.error('so it is easier to examine the major flaws');
} else /* worker */ {
// logger for worker
const log = new loggerClient({
system: 'worker',
cluster: process.env.workerId
});
log.debug(`worker ${process.env.workerId} standing by`);
}
//log json
log.info({
eBooks: [
{
language: 'Pascal',
edition: 'third'
},
{
language: 'Python',
edition: 'four'
},
{
language: 'SQL',
edition: 'second'
}
]
});
loggerClient
will catch unhandledRejection
& uncaughtException
and log it as fatal. After sending it to loggerMaster
it will automatically kill the client process with process.exit()
(as it should be).
FAQs
This logger is designed to collect logs from cluster workers, child processes even independent node.js processes through IPC (Inter-Process Communication).
The npm package cluster-ipc-logger receives a total of 2 weekly downloads. As such, cluster-ipc-logger popularity was classified as not popular.
We found that cluster-ipc-logger demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.
Security News
A critical flaw in the popular npm form-data package could allow HTTP parameter pollution, affecting millions of projects until patched versions are adopted.
Security News
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.