UNPKG

omnis-logger-sdk

Version:

SDK для интеграции Omnis Logger в проекты

116 lines 3.51 kB
export interface OmnisLoggerConfig { endpoint: string; apiKey: string; environment?: 'development' | 'staging' | 'production'; platform?: string; version?: string; userId?: string; sessionId?: string; enableConsole?: boolean; enableGlobalErrorHandlers?: boolean; enableNetworkErrorCapture?: boolean; maxRetries?: number; timeout?: number; deviceInfo?: DeviceInfo; deviceInfoModule?: any; } export interface LogContext { [key: string]: any; } export interface DeviceInfo { platform?: string; os?: string; osVersion?: string; userAgent?: string; language?: string; timezone?: string; screenWidth?: number; screenHeight?: number; pixelRatio?: number; deviceId?: string; model?: string; brand?: string; systemName?: string; systemVersion?: string; bundleId?: string; applicationName?: string; buildNumber?: string; version?: string; readableVersion?: string; isTablet?: boolean; deviceType?: string; deviceName?: string; manufacturer?: string; isEmulator?: boolean; uniqueId?: string; androidId?: string; apiLevel?: number; hasNotch?: boolean; hasDynamicIsland?: boolean; networkType?: string; isConnected?: boolean; [key: string]: any; } export interface LogData { level: 'error' | 'warn' | 'info' | 'debug'; message: string; stack?: string; context?: LogContext; userAgent?: string; url?: string; userId?: string; sessionId?: string; platform?: string; version?: string; environment?: 'development' | 'staging' | 'production'; deviceInfo?: DeviceInfo; } export declare class OmnisLogger { private config; private client; private queue; private isProcessing; private globalContext; private deviceInfo; constructor(config: OmnisLoggerConfig); private initializeDeviceInfo; private collectDeviceInfoFromModule; private collectAsyncDeviceInfo; private isBrowser; private isReactNative; private collectBrowserInfo; private setupGlobalErrorHandlers; private setupBrowserErrorHandlers; private setupReactNativeErrorHandlers; private setupNetworkErrorCapture; private setupBrowserNetworkCapture; private setupReactNativeNetworkCapture; error(message: string, context?: LogContext): void; warn(message: string, context?: LogContext): void; info(message: string, context?: LogContext): void; debug(message: string, context?: LogContext): void; exception(error: Error, context?: LogContext): void; private log; private handleGlobalError; private handleGlobalRejection; private getUserAgent; private extractUrlFromFetchArgs; private getCurrentUrl; private processQueue; private sendLog; flush(): Promise<void>; setConfig(config: Partial<OmnisLoggerConfig>): void; setUser(userId: string): void; setSession(sessionId: string): void; setGlobalContext(context: LogContext): void; getGlobalContext(): LogContext; clearGlobalContext(): void; setDeviceInfo(deviceInfo: DeviceInfo): void; getDeviceInfo(): DeviceInfo; updateDeviceInfo(updates: Partial<DeviceInfo>): void; } export declare const getDeviceId: () => string; export declare const initOmnisLogger: (config: OmnisLoggerConfig) => OmnisLogger; export declare const getOmnisLogger: () => OmnisLogger | null; export default OmnisLogger; //# sourceMappingURL=index.d.ts.map