syslog-portal
Version:
A portal for ingesting syslog data
26 lines (25 loc) • 1.01 kB
TypeScript
/// <reference types="pouchdb-find" />
/// <reference types="pouchdb-core" />
/// <reference types="pouchdb-mapreduce" />
/// <reference types="pouchdb-replication" />
import { ILogMessage, ILogMessageListener, IServer } from '../interfaces/server.js';
import { Logger } from 'pino';
import { IConfig } from '../models/config.js';
export declare class PouchArchiver implements ILogMessageListener {
private readonly server;
private readonly log;
private localDatabase;
private remoteDatabase;
private readonly syncInterval;
private readonly dataFolder;
private readonly partitionKeyList;
private activeLocalDataFolder;
constructor(server: IServer, config: IConfig, log: Logger, db: PouchDB.Database);
createDatabase(): PouchDB.Database;
sync(): Promise<void>;
setup(): void;
cleanUp(): Promise<void>;
getKey(message: Record<string, any>, id: string): string;
getId(message: ILogMessage): string;
onLogMessage(message: ILogMessage): Promise<any>;
}