示例#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);
            }
        }
示例#2
0
        public int GetLogNum(LogData data)
        {
            int num = 1;

            if (logFilter.showTime == false)
            {
                string key = data.GetKey();
                if (collapsedLogDic.ContainsKey(key))
                {
                    num = collapsedLogDic[key].count;
                }
            }

            return(num);
        }