public void Write(string actionTypeName, IList <StoreItem> states) { var stateNames = states.Select(s => s.State.OriginalTypeName.Split('.').Last()).Aggregate((a, b) => $"{a}, {b}"); var message = TraceMessageSerializer.Serialize(new TraceMessage { StoreTypeName = stateNames, ActionTypeName = actionTypeName, StateValueJson = ConvertToStateValueJson(states) }); Trace.WriteLine(message); }
private void onPaneUpdated(OutputWindowPane pane) { ThreadHelper.ThrowIfNotOnUIThread(); if (pane.Name == TargetPaneName) { var lastLines = _parser.GetLastLines(pane.TextDocument); foreach (var line in lastLines) { if (!string.IsNullOrWhiteSpace(line) && line.StartsWith(MonitorConstants.Message.Tag)) { var message = TraceMessageSerializer.Deserialize(line.TrimEnd()); if (message != null) { HandleUpdate?.Invoke(message); } } } } }