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(); }
public TextFileWriter(String fileName, Boolean append, Boolean forceDirectoryCreation) { Disposed = false; LogFilePath = RIUtils.DetermineParameterPath(fileName); Append = append; CreateDirectory = forceDirectoryCreation; FResourceLock = new ResourceLock(fileName); }
/// <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); }
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()); }