Exemplo n.º 1
0
        public void AddLog(LogData log)
        {
            switch (log.type)
            {
            case LogType.Log:
                logNum++;
                break;

            case LogType.Warning:
                warningNum++;
                break;

            case LogType.Error:
            case LogType.Exception:
            case LogType.Assert:
                errorNum++;
                break;
            }
            logList.Add(log);
            analysisDataManager.AddAnalysisData(log);
            analysisDataManager.Sort();

            bool addFilterLog = true;

            /// add collapsed log data
            CollapsedLogData collapsedLogData;
            string           key = log.GetKey();
            var cloneLog         = log.Clone();

            if (collapsedLogDic.ContainsKey(key))
            {
                collapsedLogData.count = collapsedLogDic[key].count + 1;
                collapsedLogData.log   = collapsedLogDic[key].log;
                collapsedLogDic[key]   = collapsedLogData;

                /// if not collapse, then should add filter log although the log is collapsed
                addFilterLog = !logFilter.collapse;
            }
            else
            {
                collapsedLogData.log   = cloneLog;
                collapsedLogData.count = 1;
                collapsedLogDic.Add(key, collapsedLogData);
                collapsedLogList.Add(cloneLog);
            }

            if (addFilterLog && logFilter.ShouldDisplay(log))
            {
                filteredLogList.Add(log);
            }
        }
Exemplo n.º 2
0
        public List <LogData> GetFilteredLogList(LogFilter filter, bool forceUpdate = false)
        {
            if (forceUpdate || this.logFilter.Equals(filter) == false)
            {
                var selectedLog = this.selectedLog;
                this.filteredLogList.Clear();
                this.selectedLogIndex = -1;
                var logList = (filter.collapse && !filter.showTime) ? this.collapsedLogList : this.logList;
                for (int i = 0; i < logList.Count; i++)
                {
                    var log = logList[i];
                    if (log == null)
                    {
                        continue;
                    }

                    if (filter.ShouldDisplay(log))
                    {
                        this.filteredLogList.Add(log);

                        if (filter.collapse)
                        {
                            if (log.Equals(selectedLog))
                            {
                                this.selectedLogIndex = this.filteredLogList.Count - 1;
                            }
                        }
                        else
                        {
                            if (log == selectedLog)
                            {
                                this.selectedLogIndex = this.filteredLogList.Count - 1;
                            }
                        }
                    }
                }

                this.logFilter = filter;
            }

            return(filteredLogList);
        }