namespace ScadaLink.SiteEventLogging; /// /// Interface for recording operational events to the local SQLite event log. /// public interface ISiteEventLogger { /// /// Record an event asynchronously. The call enqueues the event onto a background /// writer and returns without blocking the caller on disk I/O. The returned /// completes once the event is durably persisted and faults if /// the write fails, so callers that await it observe success or failure. /// /// Category: script, alarm, deployment, connection, store_and_forward, instance_lifecycle /// Info, Warning, or Error /// Optional instance ID associated with the event /// Source identifier, e.g., "ScriptActor:MonitorSpeed" /// Human-readable event description /// /// Optional free-form detail text (stack traces, compilation errors, etc.). /// Stored verbatim — JSON is conventional but not validated or enforced. /// Task LogEventAsync( string eventType, string severity, string? instanceId, string source, string message, string? details = null); }