diff options
author | Florian Dold <florian@dold.me> | 2024-04-22 20:02:57 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-04-22 20:02:57 +0200 |
commit | 9596660e65ea89bbe93aa31cd3d7218f471b54a5 (patch) | |
tree | cc6b4e42f81447b170d75121f61201feb7b64309 /packages | |
parent | 0dbb4ddd2b8073ac716e7a57a5280a8278d0d56a (diff) |
taler-wallet-cli: log observability events also for run-until-done
Diffstat (limited to 'packages')
-rw-r--r-- | packages/taler-wallet-cli/src/index.ts | 41 |
1 files 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<T>( walletCliArgs: WalletCliArgsType, f: (ctx: WalletContext) => Promise<T>, @@ -308,17 +319,7 @@ async function withWallet<T>( 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<T>( walletCliArgs: WalletCliArgsType, f: (w: { client: WalletCoreApiClient; ws: Wallet }) => Promise<T>, ): Promise<T> { - 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; |