[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.