namespace ZB.MOM.WW.OtOpcUa.Commons.Messages.Logging; /// /// One line of script log output published on the cluster script-logs DPS topic. /// Emitted by VirtualTagActor + ScriptedAlarmActor when their hosted scripts call into /// the runtime's logging facade; consumed by ScriptLogSignalRBridge for live /// browser tail-style viewing. /// /// The Script row this entry came from (matches Script.ScriptId). /// "Trace" / "Debug" / "Information" / "Warning" / "Error" / "Critical" — Serilog levels. /// Operator-facing log message; template tokens already resolved. /// When the script emitted the entry. /// VirtualTag context, if logged from a virtual tag evaluation. Null otherwise. /// ScriptedAlarm context, if logged from an alarm predicate. Null otherwise. /// Equipment scope, if the script ran in a per-equipment context. Null for fleet-wide scripts. public sealed record ScriptLogEntry( string ScriptId, string Level, string Message, DateTime TimestampUtc, string? VirtualTagId, string? AlarmId, string? EquipmentId);