Explorar el Código

Улучшена обработка и журналирование ошибок

Book Pauk hace 3 años
padre
commit
0077816afa
Se han modificado 2 ficheros con 6 adiciones y 6 borrados
  1. 4 4
      server/core/AsyncExit.js
  2. 2 2
      server/core/Logger.js

+ 4 - 4
server/core/AsyncExit.js

@@ -21,10 +21,10 @@ class AsyncExit {
     }
 
     _init(signals, codeOnSignal) {
-        const runSingalCallbacks = async(signal) => {
+        const runSingalCallbacks = async(signal, err, origin) => {
             for (const signalCallback of this.onSignalCallbacks.keys()) {
                 try {
-                    await signalCallback(signal);
+                    await signalCallback(signal, err, origin);
                 } catch(e) {
                     console.error(e);
                 }
@@ -32,8 +32,8 @@ class AsyncExit {
         };
 
         for (const signal of signals) {
-            process.once(signal, async() => {
-                await runSingalCallbacks(signal);
+            process.once(signal, async(err, origin) => {
+                await runSingalCallbacks(signal, err, origin);
                 this.exit(codeOnSignal);
             });
         }

+ 2 - 2
server/core/Logger.js

@@ -188,8 +188,8 @@ class Logger {
         }
 
         this.closed = false;
-        ayncExit.onSignal((signal) => {
-            this.log(LM_FATAL, `Signal ${signal} received, exiting...`);
+        ayncExit.onSignal((signal, err) => {
+            this.log(LM_FATAL, `Signal "${signal}" received, error: "${(err.stack ? err.stack : err)}", exiting...`);
         });
         ayncExit.addAfter(this.close.bind(this));
     }