public void ReceiveLogs(string[] logs) { if (logs == null || logs.Length == 0) { return; } LogsReceived.Raise(this, new LogsReceivedEventArgs(StitchInstanceId, logs)); }
public override void AdsWriteInd(AmsAddress rAddr, uint invokeId, uint indexGroup, uint indexOffset, uint cbLength, byte[] data) { // send response as soon as possible AdsWriteRes(rAddr, invokeId, AdsErrorCode.NoError); try { var entries = new List <LogEntry>(); var reader = new AdsBinaryReader(new AdsStream(data)); while (reader.BaseStream.Length > reader.BaseStream.Position) { LogEntry logEntry; var version = reader.ReadByte(); if (version == 1) { logEntry = ReadLogEntryV1(reader); } else { throw new NotImplementedException($"Version {version}"); } logEntry.Source = rAddr.ToString(); logEntry.Hostname = _adsHostnameService.GetHostname(rAddr.NetId).ValueOr(string.Empty); entries.Add(logEntry); } LogsReceived?.Invoke(this, new LogEntryEventArgs(entries)); } catch (Exception e) { _logger.LogError(e, "Error parsing log message from plc."); } }
private void OnStitchLogsReceived(object sender, LogsReceivedEventArgs e) { LogsReceived.Raise(this, e); }