Пример #1
0
 private void AddMessage(LogMessage log)
 {
     TreeNode node = new TreeNode();
     node.Tag = log;
     node.Text = log.ToString();
     node.ToolTipText = node.Text;
     TreeNode timestampNode = node.Nodes.Add(string.Format("Timestamp: {0}", log.Timestamp));
     timestampNode.ToolTipText = timestampNode.Text;
     TreeNode idNode = node.Nodes.Add(string.Format("MessageID: {0}", log.MessageID));
     idNode.ToolTipText = idNode.Text;
     TreeNode typeNode = node.Nodes.Add(string.Format("MessageType: {0}", log.MessageType));
     typeNode.ToolTipText = typeNode.Text;
     TreeNode messageNode = node.Nodes.Add(string.Format("Message: {0}", (log.Message!= null)?log.Message.Trim():""));
     messageNode.ToolTipText = messageNode.Text;
     treeView1.Nodes.Add(node);
 }
Пример #2
0
 private void ParseTimeStamp(LogMessage message, string line)
 {
     line = line.Replace("=INFO REPORT==== ", "");
     line = line.Replace("===", "");
     line = line.Trim();
     message.Timestamp = line;
 }
Пример #3
0
        private void ParseLogFile(string file)
        {
            TextReader a = new StreamReader(file);
            bool msgStart = false;
            LogMessage current = new LogMessage();
            string line = null;
            int messageMax = int.Parse(textBox3.Text);
            int minPageMessage = (messagePage) * messageMax;
            while((line = a.ReadLine()) != null)
            {
                if (currentMessageCount == messageMax)
                {
                    break;
                }
                if (line.Trim().Length < 1)
                {
                    msgStart = false;
                    continue;
                }
                if (line.Trim().StartsWith("="))
                {
                    msgStart = true;
                    processedMessages++;
                    if (processedMessages < minPageMessage)
                    {
                        msgStart = false;
                        continue;
                    }

                    if (current.Timestamp != null)
                    {
                        AddMessage(current);
                        currentMessageCount++;
                    }
                    current = new LogMessage();
                    ParseTimeStamp(current, line);
                    continue;
                }
                if (line.Trim().StartsWith("D") || line.Trim().StartsWith("I"))
                {
                    int start = line.IndexOf("(");
                    int end = line.IndexOf(")");
                    string id = line.Substring(start, end - start);
                    current.MessageID = id;
                    line = line.Substring(end);
                    Tuple<bool, string> tuple = GetMessageType(line);
                    current.MessageType = tuple.Item2;
                    if (!tuple.Item1)
                    {
                        continue;
                    }
                    else
                    {
                        line = line.Substring(line.IndexOf(tuple.Item2) + tuple.Item2.Length);
                    }
                }
                current.Message = current.Message + line;
            }
            UpdateToolStrips();
        }