Exemple #1
0
        static public MessageTextFlag DetermineMessageTextFlagParam(IListenerInfo listener)
        {
            try
            {
                MessageTextFlag msgFlags        = MessageTextFlag.None;
                Type            msgTextFlagType = typeof(MessageTextFlag);

                String details = listener.Params["messageDetails"].FullTrim();
                if (details != String.Empty)
                {
                    String[] flags = details.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (String flag in flags)
                    {
                        if (Enum.IsDefined(msgTextFlagType, flag))
                        {
                            msgFlags = msgFlags | (MessageTextFlag)Enum.Parse(msgTextFlagType, flag);
                        }
                    }
                }

                return(msgFlags);
            }
            catch (Exception ex)
            {
                throw new ReflectInsightException(String.Format("Error reading message detail parameter configuration values for Listener: '{0}' using details: '{1}'.", listener.Name, listener.Details), ex);
            }
        }
 public virtual void UpdateParameterVariables(IListenerInfo listener)
 {
     FDetails        = ListenerFileHelper.DetermineMessageTextFlagParam(listener);
     FMessagePattern = ListenerFileHelper.DetermineMessageTextPattern(listener);
     FTimePatterns   = RIUtils.GetListOfTimePatterns(FMessagePattern);
     FColored        = listener.Params["colored"].IfNullOrEmptyUseDefault("true").Trim() == "true";
 }
Exemple #3
0
        static public String Convert(ReflectInsightPackage package, MessageTextFlag flags, String messagePattern, List <String> timePatterns)
        {
            if (package.FMessageType == MessageType.Clear || RIUtils.IsViewerSpecificMessageType(package.FMessageType))
            {
                return(String.Empty);
            }

            StringBuilder sb = new StringBuilder();

            switch (package.FMessageType)
            {
            case MessageType.AddSeparator:
                sb.AppendLine(FSeparator);
                break;

            default:
                AppendPackage(sb, package, flags, messagePattern, timePatterns);
                break;
            }

            return(sb.ToString());
        }
Exemple #4
0
 static public String Convert(ReflectInsightPackage package, MessageTextFlag flags)
 {
     return(Convert(package, flags, null, null));
 }
Exemple #5
0
 static public String Convert(ReflectInsightPackage package, MessageTextFlag flags, String messagePattern)
 {
     return(Convert(package, flags, messagePattern, null));
 }
Exemple #6
0
 static private void AppendPackage(StringBuilder sb, ReflectInsightPackage package, MessageTextFlag flags, String messagePattern, List <String> timePatterns)
 {
     AppendMessage(sb, package, messagePattern, timePatterns, flags);
     AppendMessageSubDetails(sb, package, flags);
     AppendMessageDetails(sb, package, flags);
     AppendMessageProperties(sb, package, flags);
     AppendMessageExtendedProperties(sb, package, flags);
 }
Exemple #7
0
        static public void AppendMessage(StringBuilder sb, ReflectInsightPackage package, String messagePattern, List <String> timePatterns, MessageTextFlag flags)
        {
            if ((flags & MessageTextFlag.Message) != MessageTextFlag.Message)
            {
                return;
            }

            String message = package.FMessage;

            switch (package.FMessageType)
            {
            case MessageType.AddCheckpoint: message = message.Replace("Checkpoint:", String.Format("[Checkpoint.{0}]: ", (Checkpoint)package.FMessageSubType)); break;

            case MessageType.SendCheckmark: message = message.Replace("Checkmark:", String.Format("[Checkmark.{0}]: ", (Checkmark)package.FMessageSubType)); break;

            case MessageType.SendLevel: message = String.Format("[Level.{0}]: {1}", (LevelType)package.FMessageSubType, message); break;
            }

            if (!string.IsNullOrWhiteSpace(messagePattern))
            {
                sb.AppendFormat("{0}", RIUtils.PrepareString(messagePattern, package, String.Empty, timePatterns));
            }
            else
            {
                sb.AppendFormat("{0}", message);
            }

            sb.AppendLine();
        }
Exemple #8
0
        static public void AppendMessageDetails(StringBuilder sb, ReflectInsightPackage package, MessageTextFlag flags)
        {
            if (((flags & MessageTextFlag.Details) != MessageTextFlag.Details) || !package.HasDetails)
            {
                return;
            }

            if (package.IsDetail <DetailContainerString>())
            {
                sb.AppendLine();
                sb.AppendLine(package.GetDetails <DetailContainerString>().FData);
                sb.AppendLine();

                return;
            }

            switch (package.FMessageType)
            {
            case MessageType.EnterMethod:
            case MessageType.SendObject:
            case MessageType.SendProcessInformation:
            case MessageType.SendThreadInformation:
            case MessageType.SendSystemInformation:
            case MessageType.SendLoadedAssemblies:
            case MessageType.SendLoadedProcesses:
            case MessageType.SendAppDomainInformation:
            case MessageType.SendMemoryStatus:
            case MessageType.SendHttpModuleInformation:
            case MessageType.SendMiniDumpFile:
            case MessageType.SendCustomData:
            case MessageType.SendHttpRequest:
                sb.AppendLine();
                AppendCustomData(sb, package);
                sb.AppendLine();
                break;

            case MessageType.SendCollection:
                sb.AppendLine();
                AppendCollection(sb, package);
                sb.AppendLine();
                break;

            case MessageType.SendDataSet:
            case MessageType.SendDataTable:
            case MessageType.SendDataView:
            case MessageType.SendDataSetSchema:
            case MessageType.SendDataTableSchema:
            case MessageType.SendLinqResults:
            case MessageType.SendTypedCollection:
                sb.AppendLine();
                AppendData(sb, package);
                sb.AppendLine();
                break;

            case MessageType.SendMemory:
            case MessageType.SendStream:
                sb.AppendLine();
                AppendMemory(sb, package);
                sb.AppendLine();
                break;

            case MessageType.SendColor:
                sb.AppendLine();
                AppendColor(sb, package);
                sb.AppendLine();
                break;

            default:
                break;
            }
        }
Exemple #9
0
        static public void AppendMessageSubDetails(StringBuilder sb, ReflectInsightPackage package, MessageTextFlag flags)
        {
            if (((flags & MessageTextFlag.Details) != MessageTextFlag.Details) || !package.HasSubDetails)
            {
                return;
            }

            switch (package.FMessageType)
            {
            case MessageType.SendAttachment:
                sb.AppendLine();
                AppendAttachment(sb, package);
                sb.AppendLine();
                break;
            }
        }
Exemple #10
0
        static public void AppendMessageExtendedProperties(StringBuilder sb, ReflectInsightPackage package, MessageTextFlag flags)
        {
            if ((flags & MessageTextFlag.ExtendedProperties) != MessageTextFlag.ExtendedProperties || !package.HasExtendedProperties)
            {
                return;
            }

            if ((flags & MessageTextFlag.ExtendedProperties) != MessageTextFlag.Details)
            {
                sb.AppendLine();
            }

            foreach (ReflectInsightExtendedProperties exProps in package.FExtPropertyContainer.ExtendedProperties)
            {
                if (exProps.Properties.Count == 0)
                {
                    continue;
                }

                foreach (String key in exProps.Properties.AllKeys)
                {
                    sb.AppendFormat("{0,11}: {1}: {2}{3}", exProps.Caption, key, exProps.Properties[key], Environment.NewLine);
                }
            }

            sb.AppendLine();
        }
Exemple #11
0
        static public void AppendMessageProperties(StringBuilder sb, ReflectInsightPackage package, MessageTextFlag flags)
        {
            if ((flags & MessageTextFlag.Properties) != MessageTextFlag.Properties)
            {
                return;
            }

            if ((flags & MessageTextFlag.Properties) != MessageTextFlag.Details)
            {
                sb.AppendLine();
            }

            sb.AppendLine("Message Properties");
            sb.AppendLine(FLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Category", package.FCategory, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Computer", package.FMachineName, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Application", package.FApplication, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "User Name", package.FUserName, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Process Id", package.FProcessID, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Thread Id", package.FThreadID, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Request Id", package.FRequestID, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Time", package.FDateTime.ToLocalTime(), Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Session Id", package.FSessionID, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "Domain Id", package.FDomainID, Environment.NewLine);
            sb.AppendFormat("{0,11}: {1}{2}", "User Domain", package.FUserDomainName, Environment.NewLine);
            sb.AppendLine();
        }