taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 718595a57264c1bea55db9c00dcd2e0182afa0a3
parent 54d4a1efe0a55a80ed594f14698da16dfded8c47
Author: Florian Dold <florian@dold.me>
Date:   Wed,  1 Dec 2021 12:22:58 +0100

write logs atomically

Diffstat:
Mpackages/taler-util/src/logging.ts | 19++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/packages/taler-util/src/logging.ts b/packages/taler-util/src/logging.ts @@ -71,22 +71,23 @@ function writeNodeLog( args: any[], ): void { try { - process.stderr.write(`${new Date().toISOString()} ${tag} ${level} `); - process.stderr.write(`${message}`); + let msg = `${new Date().toISOString()} ${tag} ${level} ${message}`; if (args.length != 0) { - process.stderr.write(" "); - process.stderr.write(JSON.stringify(args, undefined, 2)); + msg += ` ${JSON.stringify(args, undefined, 2)}\n`; + } else { + msg += `\n`; } - process.stderr.write("\n"); + process.stderr.write(msg); } 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 `); + let msg = `${new Date().toISOString()} (logger) FATAL `; if (e instanceof Error) { - process.stderr.write("failed to write log: "); - process.stderr.write(e.message); + msg += `failed to write log: ${e.message}\n`; + } else { + msg += "failed to write log\n"; } - process.stderr.write("\n"); + process.stderr.write(msg); } }