/** * 파일 로깅 모듈 * 배치 작업의 에러 로그를 파일에 저장하는 기능 제공 * 비동기 I/O를 사용하여 이벤트 루프 블로킹 방지 */ export interface FileLoggerConfig { logDir?: string; logFileName?: string; enabled?: boolean; } export interface LogEntry { timestamp: Date; service: string; level: 'info' | 'warn' | 'error'; message: string; data?: unknown; uptime?: number; activeJobs?: number; queueSize?: number; } /** * 파일 로거 * * 역할: * - 에러 로그를 파일에 저장 * - 로그 디렉토리 자동 생성 * - 로그 엔트리 포맷팅 */ export declare class FileLogger { private config; private logFilePath; constructor(config?: FileLoggerConfig); /** * 로그 엔트리 저장 (비동기) * 동기 I/O를 사용하지 않아 이벤트 루프 블로킹을 방지함 * * @param entry 로그 엔트리 */ log(entry: LogEntry): Promise; /** * 경고 로그 저장 (비동기) * * @param message 메시지 * @param data 추가 데이터 * @param context 컨텍스트 정보 */ logWarn(message: string, data?: Record, context?: { uptime?: number; activeJobs?: number; queueSize?: number; }): Promise; /** * 에러 로그 저장 (비동기) * * @param message 메시지 * @param data 추가 데이터 * @param context 컨텍스트 정보 */ logError(message: string, data?: Record, context?: { uptime?: number; activeJobs?: number; queueSize?: number; }): Promise; /** * 데이터 정제 (Error 객체 처리) * PRD 0019: 보안 강화 (Phase 1) - PII 마스킹 강화 * Error 객체의 message와 stack에 PII 마스킹 적용 * 공통 유틸리티 함수 사용 * * @param data 원본 데이터 * @returns 정제된 데이터 (PII 마스킹 적용) */ private sanitizeData; /** * 로그 파일 경로 조회 */ getLogFilePath(): string; /** * 로깅 활성화/비활성화 * * @param enabled 활성화 여부 */ setEnabled(enabled: boolean): void; } //# sourceMappingURL=file-logger.d.ts.map