private bool IsEnabled()

in src/Microsoft.Azure.WebJobs.Logging.ApplicationInsights/Processors/FilteringTelemetryProcessor.cs [37:67]


        private bool IsEnabled(ITelemetry item)
        {
            bool enabled = true;

            if (item is ISupportProperties telemetry && _filterOptions != null)
            {
                if (!telemetry.Properties.TryGetValue(LogConstants.CategoryNameKey, out string categoryName))
                {
                    // If no category is specified, it will be filtered by the default filter
                    categoryName = string.Empty;
                }

                // Extract the log level and apply the filter
                if (telemetry.Properties.TryGetValue(LogConstants.LogLevelKey, out string logLevelString) &&
                    LogLevelExtension.TryParseOptimized(logLevelString, out LogLevel logLevel))
                {
                    LoggerFilterRule filterRule = _ruleMap.GetOrAdd(categoryName, c => SelectRule(c));

                    if (filterRule.LogLevel != null && logLevel < filterRule.LogLevel)
                    {
                        enabled = false;
                    }
                    else if (filterRule.Filter != null)
                    {
                        enabled = filterRule.Filter(ProviderType.FullName, categoryName, logLevel);
                    }
                }
            }

            return enabled;
        }