Пример #1
0
        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概要信息);
        }
Пример #2
0
        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概要信息);
        }
Пример #3
0
        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);
                }
            }
        }