UNPKG

logstack-zee

Version:

Complete Node.js logging solution with 6 integration methods, S3 bidirectional operations, advanced analytics, and multi-cloud storage support for enterprise-scale applications.

98 lines (97 loc) โ€ข 2.41 kB
/** * ๐Ÿ—‘๏ธ Log Retention Service * * Handles automatic cleanup of database logs and cloud storage files * based on configured retention policies. */ import { Db } from 'mongodb'; import { Config } from '../types/config'; export declare class RetentionService { private config; private db; private s3?; constructor(config: Config, db: Db); /** * ๐Ÿงน Start automatic retention cleanup */ startAutomaticCleanup(): void; /** * ๐Ÿ—ƒ๏ธ Clean up database collections based on retention policy */ cleanupDatabase(): Promise<{ apiLogs: number; jobs: number; logs: number; }>; /** * โ˜๏ธ Clean up cloud storage files based on retention policy */ cleanupStorage(): Promise<{ deletedFiles: number; deletedSize: number; }>; /** * ๐ŸŒฉ๏ธ Clean up S3 storage files */ private cleanupS3Storage; /** * ๐Ÿ“ Clean up local storage files */ private cleanupLocalStorage; /** * ๐Ÿ—๏ธ Setup S3 lifecycle policies for automatic archival and deletion */ setupS3LifecyclePolicies(): Promise<void>; /** * ๐Ÿ“Š Get retention statistics */ getRetentionStats(): Promise<{ database: { apiLogs: { total: number; oldRecords: number; }; jobs: { total: number; oldRecords: number; }; logs: { total: number; oldRecords: number; }; }; storage: { totalFiles: number; totalSize: number; oldFiles: number; oldSize: number; }; }>; /** * ๐Ÿ”ง Manual cleanup trigger */ runManualCleanup(options?: { database?: boolean; storage?: boolean; dryRun?: boolean; }): Promise<{ database?: { apiLogs: number; jobs: number; logs: number; }; storage?: { deletedFiles: number; deletedSize: number; }; }>; /** * ๐Ÿ”ง Helper: Format bytes to human readable */ private formatBytes; } /** * ๐Ÿš€ Initialize retention service */ export declare function initRetention(config: Config, db: Db): Promise<RetentionService>; export default RetentionService;