public spLogBuff[] returnSpLogLineArray(FileStream spLogFile, uint logCount) { spLogBuff[] spLogLineArray = new spLogBuff[logCount]; spLogFile.Position = logHeader.dwFirstLog; MFCStringReader strRead = new MFCStringReader(spLogFile); // for (int i = 0; i < logHeader.dwLogCount; i++) { spLogBuff spLogLine = new spLogBuff(); try { spLogLine.dwNextLogOffset = strRead.ReadUInt32(); spLogLine.dwPreLogOffset = strRead.ReadUInt32(); spLogLine.dwNowLogOffset = strRead.ReadUInt32(); spLogLine.dwCurIndex = strRead.ReadUInt32(); spLogLine.nGrade = strRead.ReadInt32(); //int u = Convert.ToInt32(logCount); if (spLogLine.nGrade == 0) { //Array.Resize(ref spLogLineArray, i); //break; } spLogLine.dwProcessId = strRead.ReadUInt32(); spLogLine.dwThreadId = strRead.ReadUInt32(); spLogLine.year = strRead.ReadUInt16(); spLogLine.month = strRead.ReadUInt16(); spLogLine.day = strRead.ReadUInt16(); spLogLine.hour = strRead.ReadUInt16(); spLogLine.minute = strRead.ReadUInt16(); spLogLine.second = strRead.ReadUInt16(); spLogLine.milisecond = strRead.ReadUInt16(); spLogLine.csModuleNAme = strRead.ReadCString(); spLogLine.csSubSystem = strRead.ReadCString(); spLogLine.csType = strRead.ReadCString(); spLogLine.csInfo = strRead.ReadCString(); spLogLine.fileName = spLogFile.Name; if (spLogLine.nGrade != 0) { spLogLineArray[i] = spLogLine; } } catch (EndOfStreamException ex) { break; } } spLogLineArray = spLogLineArray.Where(x => x != null).ToArray(); //16063-16064 return(spLogLineArray); }
private void button2_Click_2(object sender, EventArgs e) { List <spLogBuff[]> spLogLines = new List <spLogBuff[]>(); List <spLogBuff> spLogErrorLines = new List <spLogBuff>(); int rowindex = dataGridView1.CurrentCell.RowIndex; int columnindex = dataGridView1.CurrentCell.ColumnIndex; List <string> errorCodes = new List <string>(); string physicalDev = dataGridView1.Rows[rowindex].Cells[columnindex].Value.ToString(); foreach (string spLogFileNameStr in spLogFileNames) { spLogBuff[] spLogLinesArray = createFileStreamHeaderSpLogLineArray(spLogFileNameStr); spLogLines.Add(spLogLinesArray); } spLogBuff spLogLineR = new spLogBuff(); foreach (spLogBuff[] spLogLineArray in spLogLines) { foreach (spLogBuff spLogLine in spLogLineArray) { spLogLineR = spLogLine; if (physicalDev == spLogLine.csModuleNAme) { string[] stringSeparators = new string[] { "\r\n" }; string[] cuParsedArray = spLogLine.csInfo.Split(stringSeparators, StringSplitOptions.None); foreach (string str in cuParsedArray) { if ((str.Contains("iLogicCode") || str.Contains("iPhyCode")) && (!str.Contains("iLogicCode: 0") && !str.Contains("iPhyCode: 0"))) { if (!errorCodes.Contains(str)) { errorCodes.Add(str); spLogErrorLines.Add(spLogLine); } } } } } } foreach (spLogBuff spLogErrorLine in spLogErrorLines) { richTextBox1.Text += spLogErrorLine.csInfo + "\r\n"; richTextBox1.Text += parseOperations.extractDateTimeFromSpLogLine(spLogErrorLine) + "\r\n"; richTextBox1.Text += "--------------------------------------------------------------"; } }