UNPKG

frontend-logger-advanced

Version:

Comprehensive frontend logging system with dead click detection, rage click detection, framework integrations (React/Solid), and cloud streaming support

57 lines (56 loc) 2.71 kB
import React from 'react'; import { LoggerInstance, LoggerConfig, InitOptions } from './types'; declare const LoggerContext: React.Context<LoggerInstance | null>; interface LoggerProviderProps { children: React.ReactNode; config?: Partial<LoggerConfig>; configPath?: string; disabled?: boolean; } export declare const LoggerProvider: React.FC<LoggerProviderProps>; export declare const useLogger: () => LoggerInstance | null; export declare const useLoggerActions: () => { debug: (message: string, data?: Record<string, any>) => void; info: (message: string, data?: Record<string, any>) => void; warn: (message: string, data?: Record<string, any>) => void; error: (message: string, data?: Record<string, any>) => void; custom: (eventName: string, data?: Record<string, any>) => void; exportToFile: (filename?: string) => void; getQueueSize: () => number; clearQueue: () => void; }; export declare const useComponentLogger: (componentName: string) => { logRender: (props?: Record<string, any>) => void; logError: (error: Error, errorInfo?: Record<string, any>) => void; logUserAction: (action: string, data?: Record<string, any>) => void; debug: (message: string, data?: Record<string, any>) => void; info: (message: string, data?: Record<string, any>) => void; warn: (message: string, data?: Record<string, any>) => void; error: (message: string, data?: Record<string, any>) => void; custom: (eventName: string, data?: Record<string, any>) => void; exportToFile: (filename?: string) => void; getQueueSize: () => number; clearQueue: () => void; }; export declare function withLogger<P extends object>(WrappedComponent: React.ComponentType<P>, componentName?: string): React.FC<P>; interface ErrorBoundaryState { hasError: boolean; error?: Error; } interface LoggerErrorBoundaryProps { children: React.ReactNode; fallback?: React.ComponentType<{ error: Error; }>; onError?: (error: Error, errorInfo: React.ErrorInfo) => void; } export declare class LoggerErrorBoundary extends React.Component<LoggerErrorBoundaryProps, ErrorBoundaryState> { static contextType: React.Context<LoggerInstance | null>; context: React.ContextType<typeof LoggerContext>; constructor(props: LoggerErrorBoundaryProps); static getDerivedStateFromError(error: Error): ErrorBoundaryState; componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void; render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined; } export declare function initReactLogger(options?: InitOptions): Promise<LoggerInstance | null>; export {};