@omniconvert/server-side-testing-sdk
Version:
TypeScript SDK for server-side A/B testing and experimentation
114 lines • 2.43 kB
TypeScript
import { LogLevel } from '../types';
/**
* Browser logger implementation
* Provides structured logging for browser environments
*/
export declare class BrowserLogger {
private logs;
private maxLogs;
private logLevel;
private outputToConsole;
constructor(logLevel?: LogLevel, maxLogs?: number, outputToConsole?: boolean);
/**
* Log debug message
*/
debug(message: string, context?: unknown): void;
/**
* Log info message
*/
info(message: string, context?: unknown): void;
/**
* Log notice message
*/
notice(message: string, context?: unknown): void;
/**
* Log warning message
*/
warning(message: string, context?: unknown): void;
/**
* Log error message
*/
error(message: string, context?: unknown): void;
/**
* Core logging method
*/
private log;
/**
* Check if log level should be output
*/
private shouldLog;
/**
* Output log entry to browser console
*/
private outputToBrowserConsole;
/**
* Get all logs
*/
getLogs(filterLevel?: LogLevel): LogEntry[];
/**
* Get logs by level priority
*/
getLogsByPriority(minLevel: LogLevel): LogEntry[];
/**
* Clear all logs
*/
clearLogs(): void;
/**
* Set log level
*/
setLogLevel(level: LogLevel): void;
/**
* Get current log level
*/
getLogLevel(): LogLevel;
/**
* Set maximum number of logs to keep
*/
setMaxLogs(maxLogs: number): void;
/**
* Get maximum number of logs
*/
getMaxLogs(): number;
/**
* Export logs as JSON
*/
exportLogs(): string;
/**
* Get log statistics
*/
getLogStats(): LogStats;
/**
* Enable/disable console output
*/
setConsoleOutput(enabled: boolean): void;
/**
* Check if console output is enabled
*/
isConsoleOutputEnabled(): boolean;
/**
* Generate unique log ID
*/
private generateLogId;
}
/**
* Log entry interface
*/
export interface LogEntry {
id: string;
level: LogLevel;
message: string;
context?: unknown;
timestamp: Date;
}
/**
* Log statistics interface
*/
export interface LogStats {
total: number;
debug: number;
info: number;
notice: number;
warning: number;
error: number;
}
//# sourceMappingURL=BrowserLogger.d.ts.map