internal void ProcessLogLevel <TSinkSettings>(TSinkSettings settings) where TSinkSettings : class, ILoggingSinkOptions, new() { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } foreach (var item in LogLevel) { var nav = _namespaceNavigatorCache.Parse(item.Key, item.Value, out _); if (nav is EmptyNamespaceNavigationNode) { continue; } if (!_namespaceFilterNavRoots.Contains(nav)) { lock (_parsedLgLevelLock) { if (!_namespaceFilterNavRoots.Contains(nav)) { _namespaceFilterNavRoots.Add(nav); } } } } NavigationFilterProcessor.SetSinkFilterNavMatcher(Name, _namespaceNavigatorCache, LogLevel.TryGetValue("Default", out var x) ? x : LogEventLevelConstants.Verbose); foreach (var item in Aliases) { LogEventLevelAliasManager.AddAlias(item.Key, LogEventLevelConverter.Convert(item.Value)); } }
internal static LogEventLevel Convert(string level, LogEventLevel defaultLevel = LogEventLevel.Verbose) { return(EnumsNET.Enums.TryParse(level, false, out LogEventLevel logEventLevel) ? logEventLevel : LogEventLevelAliasManager.AliasToRealLevel(level, defaultLevel)); }