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
TypeScript
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 {};