moving logger into taler-util
This commit is contained in:
parent
2c5612fd63
commit
2e1438eb04
@ -32,9 +32,9 @@ import {
|
||||
addPaytoQueryParams,
|
||||
codecForList,
|
||||
codecForString,
|
||||
Logger,
|
||||
} from "@gnu-taler/taler-util";
|
||||
import {
|
||||
Logger,
|
||||
Wallet,
|
||||
NodeHttpLib,
|
||||
getDefaultNodeWallet,
|
||||
|
@ -37,7 +37,7 @@ import {
|
||||
} from "@gnu-taler/taler-util";
|
||||
|
||||
import * as timer from "../../util/timer";
|
||||
import { Logger } from "../../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import {
|
||||
DerivedRefreshSession,
|
||||
DerivedTipPlanchet,
|
||||
|
@ -68,7 +68,7 @@ import { randomBytes } from "../primitives/nacl-fast";
|
||||
import { kdf } from "../primitives/kdf";
|
||||
import { Timestamp, timestampTruncateToSecond } from "@gnu-taler/taler-util";
|
||||
|
||||
import { Logger } from "../../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import {
|
||||
DerivedRefreshSession,
|
||||
DerivedTipPlanchet,
|
||||
|
@ -21,7 +21,7 @@ import { CryptoWorkerFactory } from "./cryptoApi";
|
||||
import { CryptoWorker } from "./cryptoWorker";
|
||||
import os from "os";
|
||||
import { CryptoImplementation } from "./cryptoImplementation";
|
||||
import { Logger } from "../../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
|
||||
const logger = new Logger("nodeThreadWorker.ts");
|
||||
|
||||
|
@ -12,7 +12,7 @@ import {
|
||||
IDBTransaction,
|
||||
IDBKeyPath,
|
||||
} from "@gnu-taler/idb-bridge";
|
||||
import { Logger } from "./util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import {
|
||||
AmountJson,
|
||||
AmountString,
|
||||
|
@ -29,7 +29,7 @@ import { RequestThrottler } from "../util/RequestThrottler";
|
||||
import Axios, { AxiosResponse } from "axios";
|
||||
import { OperationFailedError, makeErrorDetails } from "../operations/errors";
|
||||
import { URL } from "../util/url";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { bytesToString } from "../crypto/talerCrypto";
|
||||
import { TalerErrorCode } from "@gnu-taler/taler-util";
|
||||
|
||||
|
@ -32,7 +32,7 @@ import { openTalerDatabase } from "../db";
|
||||
import { HttpRequestLibrary } from "../util/http";
|
||||
import { NodeThreadCryptoWorkerFactory } from "../crypto/workers/nodeThreadWorker";
|
||||
import { NodeHttpLib } from "./NodeHttpLib";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { SynchronousCryptoWorkerFactory } from "../crypto/workers/synchronousWorker";
|
||||
import type { IDBFactory } from "@gnu-taler/idb-bridge";
|
||||
import { WalletNotification } from "@gnu-taler/taler-util";
|
||||
|
@ -22,7 +22,6 @@
|
||||
export * from "./operations/errors";
|
||||
|
||||
// Util functionality
|
||||
export { Logger } from "./util/logging";
|
||||
export { URL } from "./util/url";
|
||||
export * from "./util/promiseUtils";
|
||||
export * from "./util/query";
|
||||
@ -39,9 +38,6 @@ export * from "./operations/versions";
|
||||
|
||||
export * from "./db";
|
||||
|
||||
// Internationalization
|
||||
export * from "./i18n";
|
||||
|
||||
// Crypto and crypto workers
|
||||
export * from "./crypto/workers/nodeThreadWorker";
|
||||
export { CryptoImplementation } from "./crypto/workers/cryptoImplementation";
|
||||
|
@ -51,7 +51,7 @@ import { TransactionHandle } from "../../index.js";
|
||||
import { PayCoinSelection } from "../../util/coinSelection";
|
||||
import { j2s } from "@gnu-taler/taler-util";
|
||||
import { checkDbInvariant, checkLogicInvariant } from "../../util/invariants";
|
||||
import { Logger } from "../../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { initRetryInfo } from "../../util/retries";
|
||||
import { InternalWalletState } from "../state";
|
||||
import { provideBackupState } from "./state";
|
||||
|
@ -70,7 +70,7 @@ import {
|
||||
readSuccessResponseJsonOrThrow,
|
||||
readTalerErrorResponse,
|
||||
} from "../../util/http";
|
||||
import { Logger } from "../../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { gunzipSync, gzipSync } from "fflate";
|
||||
import { kdf } from "../../crypto/primitives/kdf";
|
||||
import { initRetryInfo } from "../../util/retries";
|
||||
|
@ -20,7 +20,7 @@
|
||||
import { AmountJson, BalancesResponse, Amounts } from "@gnu-taler/taler-util";
|
||||
import { Stores, CoinStatus } from "../db.js";
|
||||
import { TransactionHandle } from "../index.js";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { InternalWalletState } from "./state.js";
|
||||
|
||||
const logger = new Logger("withdraw.ts");
|
||||
|
@ -18,7 +18,7 @@
|
||||
* Imports.
|
||||
*/
|
||||
import { ExchangeRecord, Stores } from "../db.js";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { getExchangeDetails } from "./exchanges.js";
|
||||
import { InternalWalletState } from "./state.js";
|
||||
|
||||
|
@ -55,7 +55,7 @@ import {
|
||||
getTotalPaymentCost,
|
||||
} from "./pay";
|
||||
import { InternalWalletState } from "./state";
|
||||
import { Logger } from "../util/logging.js";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { DepositGroupRecord, Stores } from "../db.js";
|
||||
import { guardOperationException } from "./errors.js";
|
||||
import { getExchangeDetails } from "./exchanges.js";
|
||||
|
@ -30,6 +30,7 @@ import {
|
||||
ExchangeWireJson,
|
||||
getTimestampNow,
|
||||
isTimestampExpired,
|
||||
Logger,
|
||||
NotificationType,
|
||||
parsePaytoUri,
|
||||
Recoup,
|
||||
@ -49,7 +50,6 @@ import {
|
||||
WireInfo,
|
||||
} from "../db.js";
|
||||
import {
|
||||
Logger,
|
||||
URL,
|
||||
readSuccessResponseJsonOrThrow,
|
||||
getExpiryTimestamp,
|
||||
|
@ -50,6 +50,7 @@ import {
|
||||
PreparePayResult,
|
||||
PreparePayResultType,
|
||||
parsePayUri,
|
||||
Logger,
|
||||
} from "@gnu-taler/taler-util";
|
||||
import { encodeCrock, getRandomBytes } from "../crypto/talerCrypto";
|
||||
import {
|
||||
@ -62,7 +63,6 @@ import {
|
||||
getHttpResponseErrorDetails,
|
||||
guardOperationException,
|
||||
HttpResponseStatus,
|
||||
Logger,
|
||||
makeErrorDetails,
|
||||
OperationFailedAndReportedError,
|
||||
OperationFailedError,
|
||||
|
@ -45,7 +45,7 @@ import {
|
||||
} from "../db.js";
|
||||
|
||||
import { readSuccessResponseJsonOrThrow } from "../util/http";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { TransactionHandle } from "../util/query";
|
||||
import { initRetryInfo, updateRetryInfoTimeout } from "../util/retries";
|
||||
import { URL } from "../util/url";
|
||||
|
@ -37,7 +37,7 @@ import { AmountJson, Amounts } from "@gnu-taler/taler-util";
|
||||
import { amountToPretty } from "@gnu-taler/taler-util";
|
||||
import { readSuccessResponseJsonOrThrow } from "../util/http";
|
||||
import { checkDbInvariant } from "../util/invariants";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { TransactionHandle } from "../util/query";
|
||||
import { initRetryInfo, updateRetryInfoTimeout } from "../util/retries";
|
||||
import {
|
||||
|
@ -46,7 +46,7 @@ import {
|
||||
parseRefundUri,
|
||||
RefreshReason,
|
||||
} from "@gnu-taler/taler-util";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { readSuccessResponseJsonOrThrow } from "../util/http";
|
||||
import { TransactionHandle } from "../util/query";
|
||||
import { URL } from "../util/url";
|
||||
|
@ -64,7 +64,7 @@ import {
|
||||
} from "./withdraw.js";
|
||||
import { getExchangeTrust } from "./currencies.js";
|
||||
import { encodeCrock, getRandomBytes } from "../crypto/talerCrypto.js";
|
||||
import { Logger } from "../util/logging.js";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { readSuccessResponseJsonOrErrorCode, readSuccessResponseJsonOrThrow, throwUnexpectedRequestError } from "../util/http.js";
|
||||
import { URL } from "../util/url.js";
|
||||
import { TransactionHandle } from "../util/query.js";
|
||||
|
@ -17,9 +17,9 @@
|
||||
/**
|
||||
* Imports.
|
||||
*/
|
||||
import { WalletNotification, BalancesResponse } from "@gnu-taler/taler-util";
|
||||
import { WalletNotification, BalancesResponse, Logger } from "@gnu-taler/taler-util";
|
||||
import { Stores } from "../db.js";
|
||||
import { Logger, CryptoApi, OpenedPromise, Database, CryptoWorkerFactory, openPromise } from "../index.js";
|
||||
import { CryptoApi, OpenedPromise, Database, CryptoWorkerFactory, openPromise } from "../index.js";
|
||||
import { PendingOperationsResponse } from "../pending-types.js";
|
||||
import { AsyncOpMemoMap, AsyncOpMemoSingle } from "../util/asyncMemo.js";
|
||||
import { HttpRequestLibrary } from "../util/http";
|
||||
|
@ -17,7 +17,7 @@
|
||||
/**
|
||||
* Imports.
|
||||
*/
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import {
|
||||
HttpRequestLibrary,
|
||||
readSuccessResponseJsonOrThrow,
|
||||
|
@ -28,6 +28,7 @@ import {
|
||||
TipPlanchetDetail,
|
||||
TalerErrorCode,
|
||||
codecForTipResponse,
|
||||
Logger,
|
||||
} from "@gnu-taler/taler-util";
|
||||
import { DerivedTipPlanchet } from "../crypto/cryptoTypes.js";
|
||||
import {
|
||||
@ -38,7 +39,6 @@ import {
|
||||
CoinStatus,
|
||||
} from "../db.js";
|
||||
import {
|
||||
Logger,
|
||||
URL,
|
||||
readSuccessResponseJsonOrThrow,
|
||||
encodeCrock,
|
||||
|
@ -50,7 +50,7 @@ import {
|
||||
codecForTalerConfigResponse,
|
||||
} from "@gnu-taler/taler-util";
|
||||
import { InternalWalletState } from "./state";
|
||||
import { Logger } from "../util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { getExchangeDetails, updateExchangeFromUrl } from "./exchanges";
|
||||
import {
|
||||
WALLET_EXCHANGE_PROTOCOL_VERSION,
|
||||
|
@ -25,9 +25,9 @@ import {
|
||||
getTimestampNow,
|
||||
timestampDifference,
|
||||
timestampCmp,
|
||||
Logger,
|
||||
} from "@gnu-taler/taler-util";
|
||||
import { URL } from "./url";
|
||||
import { Logger } from "./logging";
|
||||
|
||||
const logger = new Logger("RequestThrottler.ts");
|
||||
|
||||
|
@ -24,8 +24,7 @@
|
||||
* Imports.
|
||||
*/
|
||||
import { AmountJson, AmountLike, Amounts } from "@gnu-taler/taler-util";
|
||||
import { strcmp } from "@gnu-taler/taler-util";
|
||||
import { Logger } from "./logging.js";
|
||||
import { strcmp, Logger } from "@gnu-taler/taler-util";
|
||||
|
||||
const logger = new Logger("coinSelection.ts");
|
||||
|
||||
|
@ -25,8 +25,8 @@
|
||||
* Imports
|
||||
*/
|
||||
import { OperationFailedError, makeErrorDetails } from "../operations/errors";
|
||||
import { Logger } from "./logging";
|
||||
import {
|
||||
Logger,
|
||||
Duration,
|
||||
Timestamp,
|
||||
getTimestampNow,
|
||||
|
@ -1,100 +0,0 @@
|
||||
/*
|
||||
This file is part of TALER
|
||||
(C) 2019 GNUnet e.V.
|
||||
|
||||
TALER is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU General Public License as published by the Free Software
|
||||
Foundation; either version 3, or (at your option) any later version.
|
||||
|
||||
TALER is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Check if we are running under nodejs.
|
||||
*/
|
||||
|
||||
const isNode =
|
||||
typeof process !== "undefined" && typeof process.release !== "undefined" && process.release.name === "node";
|
||||
|
||||
function writeNodeLog(
|
||||
message: any,
|
||||
tag: string,
|
||||
level: string,
|
||||
args: any[],
|
||||
): void {
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logger that writes to stderr when running under node,
|
||||
* and uses the corresponding console.* method to log in the browser.
|
||||
*/
|
||||
export class Logger {
|
||||
constructor(private tag: string) {}
|
||||
|
||||
info(message: string, ...args: any[]): void {
|
||||
if (isNode) {
|
||||
writeNodeLog(message, this.tag, "INFO", args);
|
||||
} else {
|
||||
console.info(
|
||||
`${new Date().toISOString()} ${this.tag} INFO ` + message,
|
||||
...args,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
warn(message: string, ...args: any[]): void {
|
||||
if (isNode) {
|
||||
writeNodeLog(message, this.tag, "WARN", args);
|
||||
} else {
|
||||
console.warn(
|
||||
`${new Date().toISOString()} ${this.tag} INFO ` + message,
|
||||
...args,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
error(message: string, ...args: any[]): void {
|
||||
if (isNode) {
|
||||
writeNodeLog(message, this.tag, "ERROR", args);
|
||||
} else {
|
||||
console.info(
|
||||
`${new Date().toISOString()} ${this.tag} ERROR ` + message,
|
||||
...args,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
trace(message: any, ...args: any[]): void {
|
||||
if (isNode) {
|
||||
writeNodeLog(message, this.tag, "TRACE", args);
|
||||
} else {
|
||||
console.info(
|
||||
`${new Date().toISOString()} ${this.tag} TRACE ` + message,
|
||||
...args,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
@ -33,9 +33,8 @@ import {
|
||||
IDBVersionChangeEvent,
|
||||
Event,
|
||||
IDBCursor,
|
||||
IDBKeyPath,
|
||||
} from "@gnu-taler/idb-bridge";
|
||||
import { Logger } from "./logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
|
||||
const logger = new Logger("query.ts");
|
||||
|
||||
|
@ -24,8 +24,7 @@
|
||||
/**
|
||||
* Imports.
|
||||
*/
|
||||
import { Duration } from "@gnu-taler/taler-util";
|
||||
import { Logger } from "./logging";
|
||||
import { Logger, Duration } from "@gnu-taler/taler-util";
|
||||
|
||||
const logger = new Logger("timer.ts");
|
||||
|
||||
|
@ -177,7 +177,7 @@ import { AmountJson, Amounts } from "@gnu-taler/taler-util";
|
||||
import { assertUnreachable } from "./util/assertUnreachable";
|
||||
import { AsyncOpMemoSingle } from "./util/asyncMemo";
|
||||
import { HttpRequestLibrary } from "./util/http";
|
||||
import { Logger } from "./util/logging";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { AsyncCondition } from "./util/promiseUtils";
|
||||
import { Database } from "./util/query";
|
||||
import { Duration, durationMin } from "@gnu-taler/taler-util";
|
||||
|
@ -19,13 +19,12 @@
|
||||
*/
|
||||
import {
|
||||
OperationFailedError,
|
||||
Logger,
|
||||
HttpRequestLibrary,
|
||||
HttpRequestOptions,
|
||||
HttpResponse,
|
||||
Headers,
|
||||
} from "@gnu-taler/taler-wallet-core";
|
||||
import { TalerErrorCode } from "@gnu-taler/taler-util";
|
||||
import { Logger, TalerErrorCode } from "@gnu-taler/taler-util";
|
||||
|
||||
const logger = new Logger("browserHttpLib");
|
||||
|
||||
|
@ -22,7 +22,8 @@
|
||||
* Imports.
|
||||
*/
|
||||
|
||||
import { CryptoImplementation, Logger } from "@gnu-taler/taler-wallet-core";
|
||||
import { Logger } from "@gnu-taler/taler-util";
|
||||
import { CryptoImplementation } from "@gnu-taler/taler-wallet-core";
|
||||
|
||||
const logger = new Logger("browserWorkerEntry.ts");
|
||||
|
||||
|
@ -21,7 +21,8 @@
|
||||
*/
|
||||
|
||||
import { render } from "preact";
|
||||
import { setupI18n } from "@gnu-taler/taler-wallet-core";
|
||||
import { setupI18n } from "@gnu-taler/taler-util";
|
||||
import { strings } from "./i18n"
|
||||
import { Application } from './Application';
|
||||
|
||||
function main(): void {
|
||||
@ -37,7 +38,7 @@ function main(): void {
|
||||
}
|
||||
}
|
||||
|
||||
setupI18n("en-US");
|
||||
setupI18n("en-US", strings);
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", main);
|
||||
|
Loading…
Reference in New Issue
Block a user