gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 01/02: fix exception thrown during logging, include


From: gnunet
Subject: [taler-wallet-core] 01/02: fix exception thrown during logging, include stack trace
Date: Tue, 01 Sep 2020 14:31:02 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

commit 5e7149f79eeb9988a7da45ecc8573c65e9680082
Author: Florian Dold <florian.dold@gmail.com>
AuthorDate: Tue Sep 1 15:52:13 2020 +0530

    fix exception thrown during logging, include stack trace
---
 .../taler-wallet-core/src/operations/errors.ts     |  4 +++-
 packages/taler-wallet-core/src/util/logging.ts     | 25 ++++++++++++++++------
 packages/taler-wallet-core/src/wallet.ts           |  1 -
 3 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/packages/taler-wallet-core/src/operations/errors.ts 
b/packages/taler-wallet-core/src/operations/errors.ts
index 198d3f8c..76f64034 100644
--- a/packages/taler-wallet-core/src/operations/errors.ts
+++ b/packages/taler-wallet-core/src/operations/errors.ts
@@ -96,7 +96,9 @@ export async function guardOperationException<T>(
       const opErr = makeErrorDetails(
         TalerErrorCode.WALLET_UNEXPECTED_EXCEPTION,
         `unexpected exception (message: ${e.message})`,
-        {},
+        {
+          stack: e.stack,
+        },
       );
       await onOpError(opErr);
       throw new OperationFailedAndReportedError(opErr);
diff --git a/packages/taler-wallet-core/src/util/logging.ts 
b/packages/taler-wallet-core/src/util/logging.ts
index e4f3be2f..230cb705 100644
--- a/packages/taler-wallet-core/src/util/logging.ts
+++ b/packages/taler-wallet-core/src/util/logging.ts
@@ -22,18 +22,29 @@ const isNode =
   typeof process !== "undefined" && process.release.name === "node";
 
 function writeNodeLog(
-  message: string,
+  message: any,
   tag: string,
   level: string,
   args: any[],
 ): void {
-  process.stderr.write(`${new Date().toISOString()} ${tag} ${level} `);
-  process.stderr.write(message);
-  if (args.length != 0) {
-    process.stderr.write(" ");
-    process.stderr.write(JSON.stringify(args, undefined, 2));
+  try {
+    process.stderr.write(`${new Date().toISOString()} ${tag} ${level} `);
+    process.stderr.write(`${message}`);
+    if (args.length != 0) {
+      process.stderr.write(" ");
+      process.stderr.write(JSON.stringify(args, undefined, 2));
+    }
+    process.stderr.write("\n");
+  } catch (e) {
+    // This can happen when we're trying to log something that doesn't want to 
be
+    // converted to a string.
+    process.stderr.write(`${new Date().toISOString()} (logger) FATAL `);
+    if (e instanceof Error) {
+      process.stderr.write("failed to write log: ");
+      process.stderr.write(e.message);
+    }
+    process.stderr.write("\n");
   }
-  process.stderr.write("\n");
 }
 
 /**
diff --git a/packages/taler-wallet-core/src/wallet.ts 
b/packages/taler-wallet-core/src/wallet.ts
index 41b096bc..352cb29e 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -919,7 +919,6 @@ export class Wallet {
   /**
    * Implementation of the "wallet-core" API.
    */
-
   private async dispatchRequestInternal(
     operation: string,
     payload: unknown,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]