moving logger into taler-util

This commit is contained in:
Sebastian 2021-06-08 15:58:13 -03:00
parent 2c5612fd63
commit 2e1438eb04
No known key found for this signature in database
GPG Key ID: BE4FF68352439FC1
33 changed files with 35 additions and 141 deletions

View File

@ -32,9 +32,9 @@ import {
addPaytoQueryParams,
codecForList,
codecForString,
Logger,
} from "@gnu-taler/taler-util";
import {
Logger,
Wallet,
NodeHttpLib,
getDefaultNodeWallet,

View File

@ -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,

View File

@ -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,

View File

@ -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");

View File

@ -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,

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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");

View File

@ -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";

View File

@ -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";

View File

@ -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,

View File

@ -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,

View File

@ -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";

View File

@ -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 {

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -17,7 +17,7 @@
/**
* Imports.
*/
import { Logger } from "../util/logging";
import { Logger } from "@gnu-taler/taler-util";
import {
HttpRequestLibrary,
readSuccessResponseJsonOrThrow,

View File

@ -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,

View File

@ -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,

View File

@ -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");

View File

@ -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");

View File

@ -25,8 +25,8 @@
* Imports
*/
import { OperationFailedError, makeErrorDetails } from "../operations/errors";
import { Logger } from "./logging";
import {
Logger,
Duration,
Timestamp,
getTimestampNow,

View File

@ -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,
);
}
}
}

View File

@ -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");

View File

@ -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");

View File

@ -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";

View File

@ -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");

View File

@ -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");

View File

@ -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);