hypertune
Version:
[Hypertune](https://www.hypertune.com/) is the most flexible platform for feature flags, A/B testing, analytics and app configuration. Built with full end-to-end type-safety, Git-style version control and local, synchronous, in-memory flag evaluation. Opt
38 lines • 1.56 kB
TypeScript
import { Expression, LocalLogger, LogLevel } from "../shared";
import { LogsHandler, Logs, RemoteLoggingMode } from "../shared/types";
/**
* Logger provides a high level API for Node and generic SDK logs. It emits
* these logs using the `localLogger` and it also forwards them to the
* `remoteLogger` based on the provided `remoteLoggingMode`.
*/
export default class Logger {
readonly id: string;
private readonly remoteLoggingMode;
private readonly remoteLogCache;
private readonly remoteLogger;
private readonly localLogger;
private readonly logsHandler;
constructor({ id, traceId, token, remoteLoggingMode, remoteFlushIntervalMs, remoteLoggingEndpointUrl, localLogger, logsHandler, }: {
id: string;
traceId: string;
token: string;
remoteLoggingMode: RemoteLoggingMode;
remoteFlushIntervalMs: number | null;
remoteLoggingEndpointUrl: string;
logsHandler: LogsHandler;
localLogger: LocalLogger;
});
nodeLog({ commitId, initDataHash, nodeTypeName, nodePath, nodeExpression, reductionLogs, }: {
commitId: string | null;
initDataHash: string | null;
nodeTypeName: string;
nodePath: string;
nodeExpression: Expression | null;
reductionLogs: Logs;
}): void;
private shouldRemoteNodeLog;
log(level: LogLevel, commitId: string | null, message: string, metadata: object): void;
flush(traceId: string): Promise<void>;
close(traceId: string): Promise<void>;
}
//# sourceMappingURL=Logger.d.ts.map