From 9596660e65ea89bbe93aa31cd3d7218f471b54a5 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 22 Apr 2024 20:02:57 +0200 Subject: taler-wallet-cli: log observability events also for run-until-done --- packages/taler-wallet-cli/src/index.ts | 41 ++++++++++++++-------------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index 59be964b2..8c4760223 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -300,6 +300,17 @@ async function createLocalWallet( } } +function writeObservabilityLog(notif: WalletNotification): void { + if (observabilityEventFile) { + switch (notif.type) { + case NotificationType.RequestObservabilityEvent: + case NotificationType.TaskObservabilityEvent: + fs.appendFileSync(observabilityEventFile, JSON.stringify(notif) + "\n"); + break; + } + } +} + async function withWallet( walletCliArgs: WalletCliArgsType, f: (ctx: WalletContext) => Promise, @@ -308,17 +319,7 @@ async function withWallet( const onNotif = (notif: WalletNotification) => { waiter.notify(notif); - if (observabilityEventFile) { - switch (notif.type) { - case NotificationType.RequestObservabilityEvent: - case NotificationType.TaskObservabilityEvent: - fs.appendFileSync( - observabilityEventFile, - JSON.stringify(notif) + "\n", - ); - break; - } - } + writeObservabilityLog(notif); }; if (walletCliArgs.wallet.walletConnection) { @@ -366,7 +367,9 @@ async function withLocalWallet( walletCliArgs: WalletCliArgsType, f: (w: { client: WalletCoreApiClient; ws: Wallet }) => Promise, ): Promise { - const wh = await createLocalWallet(walletCliArgs); + const wh = await createLocalWallet(walletCliArgs, (notif) => { + writeObservabilityLog(notif); + }); const w = wh.wallet; const res = await f({ client: w.client, ws: w }); logger.info("Work done, stopping wallet."); @@ -988,7 +991,7 @@ depositCli .requiredArgument("amount", clk.AMOUNT) .requiredArgument("targetPayto", clk.STRING) .action(async (args) => { - await withLocalWallet(args, async (wallet) => { + await withWallet(args, async (wallet) => { const resp = await wallet.client.call( WalletApiOperation.CreateDepositGroup, { @@ -1231,17 +1234,7 @@ advancedCli process.on("SIGINT", cleanupSocket); const onNotif = (notif: WalletNotification) => { - if (observabilityEventFile) { - switch (notif.type) { - case NotificationType.RequestObservabilityEvent: - case NotificationType.TaskObservabilityEvent: - fs.appendFileSync( - observabilityEventFile, - JSON.stringify(notif) + "\n", - ); - break; - } - } + writeObservabilityLog(notif); }; const wh = await createLocalWallet(args, onNotif, args.serve.noInit); const w = wh.wallet; -- cgit v1.2.3