/** * Syslog TCP push worker — streams structured log entries to a remote * syslog receiver (Graylog) over a persistent TCP connection. * * Uses RFC 5424 syslog format with structured data to carry DKG-specific * fields (operation_id, operation_name, module, network, node_name). * Reconnects automatically on connection loss. * * TODO: upgrade to TLS (RFC 5425) once the Graylog Syslog input is * reconfigured as a "Syslog TLS" input with the domain certificate. */ export interface LogPushWorkerOptions { /** Syslog host, e.g. loggly.origin-trail.network */ host: string; /** Syslog TCP port, e.g. 614 */ port: number; /** Node's libp2p peer ID */ peerId: string; /** Network identifier: 'testnet' or 'mainnet' */ network: string; /** Node name from config */ nodeName?: string; /** Semver version from package.json, e.g. "9.0.0-beta.2" */ version?: string; /** Short git commit SHA of the running code, e.g. "a1b2c3d8" */ commit?: string; /** Node role: "core" or "edge" */ role?: string; /** Whether auto-update is enabled */ autoUpdate?: boolean; /** Dynamic getter returning version status: latest | updating | behind | disabled | unknown */ versionStatus?: () => string; } interface LogEntry { level: string; operationName: string; operationId: string; module: string; message: string; } export declare class LogPushWorker { private buffer; private socket; private timer; private reconnectTimer; private connected; private stopped; private readonly host; private readonly port; private readonly peerId; private readonly network; private readonly nodeName; private readonly version; private readonly commit; private readonly role; private readonly autoUpdate; private readonly versionStatus; constructor(opts: LogPushWorkerOptions); push(entry: LogEntry): void; start(): void; stop(): void; private connect; private scheduleReconnect; private flush; } export {}; //# sourceMappingURL=gelf-push-worker.d.ts.map