@gftdcojp/gftd-orm
Version:
Enterprise-grade real-time data platform with ksqlDB, inspired by Supabase architecture
137 lines • 3.68 kB
TypeScript
/**
* クライアントサイド専用ログ機能
* winston を使わず console ベースで実装
*/
/**
* ログレベル
*/
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
/**
* ログ設定
*/
interface ClientLoggerConfig {
level: LogLevel;
enableTimestamp: boolean;
enableColors: boolean;
enableStackTrace: boolean;
prefix?: string;
}
/**
* クライアント用ログ機能
*/
export declare class ClientLogger {
private config;
private static instance;
private constructor();
/**
* シングルトンインスタンスを取得
*/
static getInstance(config?: Partial<ClientLoggerConfig>): ClientLogger;
/**
* 設定を更新
*/
setConfig(config: Partial<ClientLoggerConfig>): void;
/**
* ログレベルを設定
*/
setLevel(level: LogLevel): void;
/**
* ログを出力するかどうかを判定
*/
private shouldLog;
/**
* タイムスタンプを取得
*/
private getTimestamp;
/**
* フォーマットされたメッセージを作成
*/
private formatMessage;
/**
* ログを出力
*/
private log;
/**
* デバッグログ
*/
debug(message: string, meta?: any): void;
/**
* 情報ログ
*/
info(message: string, meta?: any): void;
/**
* 警告ログ
*/
warn(message: string, meta?: any): void;
/**
* エラーログ
*/
error(message: string, error?: Error | any, meta?: any): void;
/**
* 成功ログ
*/
success(message: string, meta?: any): void;
/**
* 失敗ログ
*/
failure(message: string, error?: Error | any, meta?: any): void;
/**
* グループ化されたログ
*/
group(label: string): void;
/**
* グループ終了
*/
groupEnd(): void;
/**
* テーブル形式のログ
*/
table(data: any[] | Record<string, any>): void;
/**
* 時間計測開始
*/
time(label: string): void;
/**
* 時間計測終了
*/
timeEnd(label: string): void;
}
export declare const clientLog: {
readonly instance: ClientLogger;
debug: (message: string, meta?: any) => void;
info: (message: string, meta?: any) => void;
warn: (message: string, meta?: any) => void;
error: (message: string, error?: Error | any, meta?: any) => void;
success: (message: string, meta?: any) => void;
failure: (message: string, error?: Error | any, meta?: any) => void;
group: (label: string) => void;
groupEnd: () => void;
table: (data: any) => void;
time: (label: string) => void;
timeEnd: (label: string) => void;
setLevel: (level: LogLevel) => void;
setConfig: (config: Partial<ClientLoggerConfig>) => void;
};
/**
* ログ設定を初期化
*/
export declare function initializeClientLogger(config?: Partial<ClientLoggerConfig>): ClientLogger;
/**
* 従来のコンソールログ代替機能
*/
export declare const consoleLogger: {
debug: (message: string, ...args: any[]) => void;
info: (message: string, ...args: any[]) => void;
warn: (message: string, ...args: any[]) => void;
error: (message: string, ...args: any[]) => void;
log: (message: string, ...args: any[]) => void;
success: (message: string, ...args: any[]) => void;
failure: (message: string, error?: Error | any, ...args: any[]) => void;
group: (label: string) => void;
groupEnd: () => void;
table: (data: any) => void;
time: (label: string) => void;
timeEnd: (label: string) => void;
};
export {};
//# sourceMappingURL=client-logger.d.ts.map