示例#1
0
        private void BubleLoggedError(LoggedError loggedError)
        {
            if (parentLogger != null)
            {
                loggedError.PathList.Insert(0, parentLogger.Name);
                parentLogger.BubleLoggedError(loggedError);
                return;
            }

            if (RootItem is LogRoot logRoot)
            {
                if (logRoot.Errors == null)
                {
                    logRoot.Errors = new List <LoggedError>();
                }

                logRoot.Errors.Add(loggedError);
            }
        }
示例#2
0
        private void AddItem(ILogItem logItem)
        {
            this.RootItem.LogItems.Add(logItem);

            if (logItem.Level == LogLevel.ERROR)
            {
                var loggedError = new LoggedError
                {
                    LogItemWithError = logItem,
                    PathList         = new List <string> {
                        Name
                    }
                };

                BubleLoggedError(loggedError);

                OnErrorLogged?.Invoke(this, loggedError);
                OnAnyErrorLogged?.Invoke(this, loggedError);
            }

            this.OnAnyLogItemAdded?.Invoke(this, logItem);
            this.OnLogItemAdded?.Invoke(this, logItem);
        }