private void Parse(string entry) { // giving CPU a break every so often if (_syslogEntryCount % 10 == 0) { _syslogEntryCount = 0; Thread.Yield(); } // Transform to RFC var text = $"<{_defaultPriority}> {entry}"; // Begin parsing using Microsoft.Syslog var ctx = new ParserContext(text); if (_syslogParser.TryParse(ctx)) { var serverEntry = new ServerSyslogEntry() { Payload = entry, Entry = ctx.Entry, ParseErrorMessages = ctx.ErrorMessages }; var dict = SyslogEntryToDictionaryConverter.Convert(serverEntry); _eventStream.Broadcast(dict); } }
private void ConvertToDictionary(ServerSyslogEntry serverEntry) { _eventStream.Broadcast(SyslogEntryToDictionaryConverter.Convert(serverEntry)); }