コード例 #1
0
ファイル: TraceCommand.cs プロジェクト: gcheney/Burrows
        public void Consume(IReceivedMessageTraceList list)
        {
            if (_unsubscribe != null)
            {
                _unsubscribe();
            }
            _unsubscribe = null;

            ITextBlock text = new TextBlock()
                              .BeginBlock("Trace URI: " + _uriString,
                                          string.Format("{0} message{1}", list.Messages.Count, list.Messages.Count == 1 ? "" : "s"))
                              .Break();

            foreach (IReceivedMessageTraceDetail message in list.Messages)
            {
                text.BeginBlock("Received: " + message.Id, Format(message.StartTime));

                text.Table(GetMessageHeaderDictionary(message),
                           "Duration (ms)", ((int)message.Duration.TotalMilliseconds).ToString("N0"));

                text.Break();

                if (message.Receivers != null)
                {
                    foreach (IReceiverTraceDetail receiver in message.Receivers)
                    {
                        text.BeginBlock(receiver.ReceiverType, Format(receiver.StartTime));
                        text.Table(GetReceiverDictionary(receiver));
                        text.EndBlock();
                    }
                }

                if (message.SentMessages != null)
                {
                    foreach (ISentMessageTraceDetail sent in message.SentMessages)
                    {
                        text.BeginBlock("Sent: " + sent.Id, Format(sent.StartTime));

                        text.Table(GetMessageHeaderDictionary(sent),
                                   "Endpoint Address", sent.Address.ToString());
                        text.EndBlock();
                    }
                }

                text.EndBlock();
            }

            _log.Info(text.ToString());
            _complete.Set();
        }
コード例 #2
0
ファイル: StatusCommand.cs プロジェクト: xeno3/MassTransit
        public void Consume(IConsumeContext <BusStatus> context)
        {
            if (!_requestId.Equals(context.RequestId))
            {
                return;
            }

            if (_unsubscribe != null)
            {
                _unsubscribe();
            }
            _unsubscribe = null;

            ITextBlock text = new TextBlock()
                              .BeginBlock("Status URI:", _uriString)
                              .EndBlock();

            foreach (BusStatusEntry entry in context.Message.Entries)
            {
                text.BodyFormat("{0}:{1}", entry.Key, entry.Value);
            }
            text.EndBlock();

            _log.Info(text.ToString());
            _complete.Set();
        }