CombineTagsAndAdjustLogTime() 개인적인 메소드

private CombineTagsAndAdjustLogTime ( CKTrait tags, DateTimeStamp lastLogTime ) : DateTimeStamp
tags CKTrait
lastLogTime DateTimeStamp
리턴 DateTimeStamp
예제 #1
0
        void DoUnfilteredLog(ActivityMonitorLogData data)
        {
            Debug.Assert(_enteredThreadId == Thread.CurrentThread.ManagedThreadId);
            Debug.Assert(data.Level != LogLevel.None);
            Debug.Assert(!String.IsNullOrEmpty(data.Text));

            if (!data.IsFilteredLog)
            {
                if (_actualFilterIsDirty)
                {
                    DoResyncActualFilter();
                }
                if (_actualFilter.Line == LogLevelFilter.Off)
                {
                    return;
                }
            }

            _lastLogTime = data.CombineTagsAndAdjustLogTime(_currentTag, _lastLogTime);
            List <IActivityMonitorClient> buggyClients = null;

            foreach (var l in _output.Clients)
            {
                try
                {
                    l.OnUnfilteredLog(data);
                }
                catch (Exception exCall)
                {
                    CriticalErrorCollector.Add(exCall, l.GetType().FullName);
                    if (buggyClients == null)
                    {
                        buggyClients = new List <IActivityMonitorClient>();
                    }
                    buggyClients.Add(l);
                }
            }
            if (buggyClients != null)
            {
                foreach (var l in buggyClients)
                {
                    _output.ForceRemoveBuggyClient(l);
                }
                _clientFilter = DoGetBoundClientMinimalFilter();
                UpdateActualFilter();
            }
        }