statsig-js
Version:
Statsig JavaScript client SDK for single user environments.
42 lines (41 loc) • 2.31 kB
TypeScript
import LogEvent from './LogEvent';
import { IHasStatsigInternal } from './StatsigClient';
import { BootstrapMetadata, EvaluationDetails } from './StatsigStore';
import { StatsigUser } from './StatsigUser';
import { ContextType } from './utils/Diagnostics';
export default class StatsigLogger {
private sdkInternal;
private queue;
private nonExposedChecks;
private flushInterval;
private loggedErrors;
private failedLogEvents;
private exposureDedupeKeys;
private failedLogEventCount;
private debugInfo;
constructor(sdkInternal: IHasStatsigInternal);
private init;
log(event: LogEvent): void;
resetDedupeKeys(): void;
setDebugInfo(debugInfo: Record<string, string>): void;
private shouldLogExposure;
addNonExposedCheck(configName: string): void;
logGateExposure(user: StatsigUser | null, gateName: string, gateValue: boolean, ruleID: string, secondaryExposures: Record<string, string>[], details: EvaluationDetails, isManualExposure: boolean, bootstrapMetadata: BootstrapMetadata | null): void;
logConfigExposure(user: StatsigUser | null, configName: string, ruleID: string, secondaryExposures: Record<string, string>[], details: EvaluationDetails, isManualExposure: boolean, bootstrapMetadata: BootstrapMetadata | null): void;
logLayerExposure(user: StatsigUser | null, configName: string, ruleID: string, secondaryExposures: Record<string, string>[], allocatedExperiment: string, parameterName: string, isExplicitParameter: boolean, details: EvaluationDetails, isManualExposure: boolean, bootstrapMetadata: BootstrapMetadata | null): void;
logConfigDefaultValueFallback(user: StatsigUser | null, message: string, metadata: object): void;
logAppError(user: StatsigUser | null, message: string, metadata: object): void;
logDiagnostics(user: StatsigUser | null, context: ContextType): void;
logAppMetrics(user: StatsigUser | null): void;
private logGenericEvent;
shutdown(): void;
flush(isClosing?: boolean): void;
private saveFailedRequests;
sendSavedRequests(): Promise<void>;
private addFailedRequest;
private clearLocalStorageRequests;
private makeDiagnosticsEvent;
private addErrorBoundaryDiagnostics;
private addNonExposedChecksEvent;
private logDroppedLogEventsException;
}