public M概要信息 初步分析() { if (_缓存.Count == 0) { throw new ArgumentException("该文件中没有日志"); } var __M概要信息 = new M概要信息(); var __当前索引 = 0; //file rolling _缓存[0].跟踪周期 = E跟踪周期.应用程序; _缓存[0].跟踪标记 = 1; _缓存.ForEach(q => { if (q.跟踪周期 == E跟踪周期.应用程序 && q.跟踪标记 > 0) { __M概要信息.启动次数++; __M概要信息.启动列表.Add(q); _启动索引.Add(__当前索引); } if (q.等级 <= TraceEventType.Warning) { __M概要信息.警告列表.Add(q); } __当前索引++; }); __M概要信息.启动次数 = _启动索引.Count; __M概要信息.起始时间 = _缓存.First().时间; __M概要信息.结束时间 = _缓存.Last().时间; return(__M概要信息); }
public M概要信息 初步分析() { if (_缓存.Count == 0) { throw new ArgumentException("该文件中没有日志"); } var __M概要信息 = new M概要信息(); var __当前索引 = 0; _缓存[0].跟踪周期 = E跟踪周期.应用程序; _缓存[0].跟踪标记 = 1; _缓存.ForEach(q => { if (q.标题.StartsWith("程序启动") || q.内容.StartsWith("程序启动")) { __M概要信息.启动次数++; __M概要信息.启动列表.Add(q); _启动索引.Add(__当前索引); } if (q.等级 <= TraceEventType.Warning) { __M概要信息.警告列表.Add(q); } __当前索引++; }); if (_启动索引.Count == 0) { __M概要信息.启动次数++; __M概要信息.启动列表.Add(_缓存[0]); _启动索引.Add(0); } __M概要信息.启动次数 = _启动索引.Count; __M概要信息.起始时间 = _缓存.First().时间; __M概要信息.结束时间 = _缓存.Last().时间; return(__M概要信息); }
private void 加载日志文件() { this.out详细信息列表.DataSource = null; this.out概要信息列表.DataSource = null; this.out警告信息列表.DataSource = null; this.out起始时间.Text = string.Empty; this.out启动次数.Text = string.Empty; this.out结束时间.Text = string.Empty; this.out警告数量.Text = string.Empty; this.in启动次数_次数.Value = 0; _日志路径 = this.out文件路径.Text.Trim(); if (string.IsNullOrEmpty(_日志路径)) { if (Environment.GetCommandLineArgs().Length > 1) { _日志路径 = Environment.GetCommandLineArgs()[1]; this.out文件路径.Text = _日志路径; } else { _日志路径 = U路径.获取绝对路径("详细信息.log"); if (!File.Exists(_日志路径)) { _日志路径 = U路径.获取绝对路径("日志\\详细信息.log"); if (!File.Exists(_日志路径)) { //XtraMessageBox.Show("请将'详细日志.log'复制到程序目录,然后刷新", "未找到日志文件", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); _日志路径 = string.Empty; return; } } } } if (!string.IsNullOrEmpty(_日志路径)) { SplashScreenManager.ShowForm(this.ParentForm, typeof(DemoWaitForm), true, true, false); try { this.out文件路径.Text = _日志路径; var __目录路径 = Path.GetDirectoryName(_日志路径); var __文件名称 = Path.GetFileName(_日志路径); var __路径列表 = new DirectoryInfo(__目录路径).GetFiles(__文件名称 + ".*").ToList(); //__路径列表.Sort((m, n) => m.LastWriteTime.CompareTo(n.LastWriteTime)); _I文本分析.加载日志(__路径列表); On加载事件(__路径列表); try { _概要信息 = _I文本分析.初步分析(); } catch (ArgumentException ex) { XtraMessageBox.Show(ex.Message, "文件分析错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); _日志路径 = string.Empty; return; } this.out起始时间.Text = _概要信息.起始时间.ToString("MM-dd HH:mm"); this.out启动次数.Text = _概要信息.启动次数.ToString(); this.out结束时间.Text = _概要信息.结束时间.ToString("MM-dd HH:mm"); this.out警告数量.Text = _概要信息.警告列表.Count.ToString(); this.out警告信息列表.DataSource = _概要信息.警告列表; this.out警告信息表格.FocusedRowHandle = -1; this.in启动次数_次数.Value = _概要信息.启动次数; this.in指定时间_起始时间.Time = _概要信息.启动列表[0].时间; this.out文件路径.ShowToolTips = true; this.out文件路径.ToolTip = _日志路径; } catch (Exception ex) { XtraMessageBox.Show("分析出错: " + ex.Message); } finally { SplashScreenManager.CloseForm(false); } } }