Улучшена обработка и журналирование ошибок
This commit is contained in:
@@ -21,10 +21,10 @@ class AsyncExit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_init(signals, codeOnSignal) {
|
_init(signals, codeOnSignal) {
|
||||||
const runSingalCallbacks = async(signal) => {
|
const runSingalCallbacks = async(signal, err, origin) => {
|
||||||
for (const signalCallback of this.onSignalCallbacks.keys()) {
|
for (const signalCallback of this.onSignalCallbacks.keys()) {
|
||||||
try {
|
try {
|
||||||
await signalCallback(signal);
|
await signalCallback(signal, err, origin);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
@@ -32,8 +32,8 @@ class AsyncExit {
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (const signal of signals) {
|
for (const signal of signals) {
|
||||||
process.once(signal, async() => {
|
process.once(signal, async(err, origin) => {
|
||||||
await runSingalCallbacks(signal);
|
await runSingalCallbacks(signal, err, origin);
|
||||||
this.exit(codeOnSignal);
|
this.exit(codeOnSignal);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -188,8 +188,8 @@ class Logger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.closed = false;
|
this.closed = false;
|
||||||
ayncExit.onSignal((signal) => {
|
ayncExit.onSignal((signal, err) => {
|
||||||
this.log(LM_FATAL, `Signal ${signal} received, exiting...`);
|
this.log(LM_FATAL, `Signal "${signal}" received, error: "${(err.stack ? err.stack : err)}", exiting...`);
|
||||||
});
|
});
|
||||||
ayncExit.addAfter(this.close.bind(this));
|
ayncExit.addAfter(this.close.bind(this));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user