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); } }
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); }