Exemplo n.º 1
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();
        }
Exemplo n.º 2
0
 public TextFileWriter(String fileName, Boolean append, Boolean forceDirectoryCreation)
 {
     Disposed        = false;
     LogFilePath     = RIUtils.DetermineParameterPath(fileName);
     Append          = append;
     CreateDirectory = forceDirectoryCreation;
     FResourceLock   = new ResourceLock(fileName);
 }
Exemplo n.º 3
0
        /// <summary>
        /// Gets the file name from pattern.
        /// </summary>
        /// <param name="patternFileName">Name of the pattern file.</param>
        /// <returns></returns>
        static public string GetFileNameFromPattern(string patternFileName)
        {
            var sStr = new StringBuilder(patternFileName);

            sStr.Replace("{{UserName}}", Environment.UserName)
            .Replace("{{MachineName}}", Environment.MachineName);

            String filePath = RIUtils.DetermineParameterPath(sStr.ToString());

            return(filePath);
        }
Exemplo n.º 4
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());
        }
        public static String PrepareString(String pattern, ReflectInsightPackage package, String details, List <String> timePatterns)
        {
            StringBuilder sStr = new StringBuilder();

            if (!string.IsNullOrWhiteSpace(pattern))
            {
                sStr.Append(pattern);
                sStr.Replace("%message%", package.FMessage);
                sStr.Replace("%messagetype%", RIUtils.GetMessageTypeString(package.FMessageType));
                sStr.Replace("%sessionid%", package.FSessionID.ToString());
                sStr.Replace("%requestid%", package.FRequestID.ToString());
                sStr.Replace("%machine%", package.FMachineName);
                sStr.Replace("%category%", package.FCategory);
                sStr.Replace("%processid%", package.FProcessID.ToString());
                sStr.Replace("%threadid%", package.FThreadID.ToString());
                sStr.Replace("%requestid%", package.FRequestID.ToString());
                sStr.Replace("%domainid%", package.FDomainID.ToString());
                sStr.Replace("%application%", package.FApplication);
                sStr.Replace("%userdomain%", package.FUserDomainName);
                sStr.Replace("%username%", package.FUserName);
                sStr.Replace("%details%", details);

                if (timePatterns != null)
                {
                    foreach (String timePattern in timePatterns)
                    {
                        String[] parts = timePattern.Split(new Char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                        DateTime dt    = String.Compare(parts[2], "U", false) == 0 ? package.FDateTime.ToUniversalTime() : package.FDateTime.ToLocalTime();

                        sStr.Replace(parts[0], dt.ToString(parts[1]));
                    }
                }
            }

            return(sStr.ToString());
        }