From 346056ca91d5d91fa3392217c24e8d1e32c91c54 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 19 Jan 2023 17:05:34 -0300 Subject: feat: adjust log level from developer page --- .../src/cta/InvoiceCreate/views.tsx | 1 - .../src/wallet/DeveloperPage.tsx | 43 ++++++++++++++++++++++ packages/taler-wallet-webextension/src/wxApi.ts | 13 +++++-- .../taler-wallet-webextension/src/wxBackend.ts | 13 +++++++ 4 files changed, 66 insertions(+), 4 deletions(-) (limited to 'packages/taler-wallet-webextension') diff --git a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx index 10e0e68d5..71227ace1 100644 --- a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx +++ b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx @@ -16,7 +16,6 @@ import { format } from "date-fns"; import { h, VNode } from "preact"; -import { ErrorTalerOperation } from "../../components/ErrorTalerOperation.js"; import { LogoHeader } from "../../components/LogoHeader.js"; import { Part } from "../../components/Part.js"; import { diff --git a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx index 3df3a470c..ee0986076 100644 --- a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx @@ -19,6 +19,7 @@ import { CoinDumpJson, CoinStatus, ExchangeListItem, + LogLevel, NotificationType, } from "@gnu-taler/taler-util"; import { @@ -29,6 +30,7 @@ import { format } from "date-fns"; import { Fragment, h, VNode } from "preact"; import { useEffect, useRef, useState } from "preact/hooks"; import { Diagnostics } from "../components/Diagnostics.js"; +import { SelectList } from "../components/SelectList.js"; import { NotifyUpdateFadeOut } from "../components/styled/index.js"; import { Time } from "../components/Time.js"; import { useBackendContext } from "../context/backend.js"; @@ -37,6 +39,8 @@ import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js"; import { useDiagnostics } from "../hooks/useDiagnostics.js"; import { Button } from "../mui/Button.js"; import { Grid } from "../mui/Grid.js"; +import { Paper } from "../mui/Paper.js"; +import { TextField } from "../mui/TextField.js"; export function DeveloperPage(): VNode { const [status, timedOut] = useDiagnostics(); @@ -167,6 +171,9 @@ export function View({ [exchange_name: string]: CalculatedCoinfInfo[]; }, ); + + const [tagName, setTagName] = useState(""); + const [logLevel, setLogLevel] = useState("info"); return (

@@ -312,6 +319,42 @@ export function View({ {" "} + +

Logging

+
+ + setLogLevel(v)} + /> +
+ + {downloadedDatabase && (
diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index 58ca48745..001f77934 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -25,6 +25,7 @@ import { AbsoluteTime, CoreApiResponse, Logger, + LogLevel, NotificationType, TalerErrorCode, TalerErrorDetail, @@ -85,6 +86,13 @@ export interface BackgroundOperations { request: void; response: void; }; + setLoggingLevel: { + request: { + tag?: string, + level: LogLevel + }; + response: void; + }; } export interface BackgroundApiClient { @@ -122,7 +130,6 @@ class BackgroundApiClientImpl implements BackgroundApiClient { try { response = await platform.sendMessageToBackground(message); } catch (error) { - console.log("Error calling backend"); if (error instanceof Error) { throw new BackgroundError(operation, { code: TalerErrorCode.GENERIC_UNEXPECTED_REQUEST_ERROR, @@ -131,13 +138,13 @@ class BackgroundApiClientImpl implements BackgroundApiClient { } throw error; } - logger.info("got response", response); if (response.type === "error") { throw new BackgroundError( `Background operation "${operation}" failed`, response.error, ); } + logger.trace("response", response); return response.result as any; } } @@ -162,13 +169,13 @@ class WalletApiClientImpl implements WalletCoreApiClient { console.log("Error calling backend"); throw new Error(`Error contacting backend: ${e}`); } - logger.info("got response", response); if (response.type === "error") { throw new BackgroundError( `Wallet operation "${operation}" failed`, response.error, ); } + logger.trace("got response", response); return response.result as any; } } diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts index c7b964c28..1bfee1064 100644 --- a/packages/taler-wallet-webextension/src/wxBackend.ts +++ b/packages/taler-wallet-webextension/src/wxBackend.ts @@ -26,6 +26,9 @@ import { classifyTalerUri, Logger, + LogLevel, + setGlobalLogLevelFromString, + setLogLevelFromString, TalerErrorCode, TalerUriType, WalletDiagnostics, @@ -180,8 +183,18 @@ const backendHandlers: BackendHandlerType = { resetDb, runGarbageCollector, toggleHeaderListener, + setLoggingLevel, }; +async function setLoggingLevel({ tag, level }: { tag?: string, level: LogLevel }): Promise { + logger.info(`setting ${tag} to ${level}`) + if (!tag) { + setGlobalLogLevelFromString(level) + } else { + setLogLevelFromString(tag, level) + } +} + async function dispatch( req: MessageFromFrontend & { id: string }, ): Promise { -- cgit v1.2.3