public override bool Evaluate(IDiagnosticEvent diagnosticEvent, ILoggerName loggerName)
        {
            bool meetsCriteria = true;

            if (!Evaluator.Value.MatchesPattern(diagnosticEvent.LoggerName))
            {
                meetsCriteria = false;
            }
            else
            {
                foreach (var name in loggerName.NamePartHierarchy)
                {
                    if (!Evaluator.Value.MatchesPattern(name))
                    {
                        meetsCriteria = false;
                        break;
                    }
                }
            }

            if (Mode == FilterMode.Include)
                return meetsCriteria;
            else
                return !meetsCriteria;
        }
        public override bool Evaluate(DiagnosticEvent diagnosticEvent, ILoggerName loggerName)
        {
            bool meetsCriteria = false;

            if (Severity != null)
            {
                meetsCriteria = diagnosticEvent.Severity == Severity;
            }
            else if (From != null && To != null)
            {
                meetsCriteria = diagnosticEvent.Severity >= From && diagnosticEvent.Severity <= To;
            }
            else if (From != null)
            {
                meetsCriteria = diagnosticEvent.Severity >= From;
            }
            else if (To != null)
            {
                meetsCriteria = diagnosticEvent.Severity <= To;
            }
            else
            {
                if (ExclusiveFrom != null && ExclusiveTo != null)
                {
                    meetsCriteria = diagnosticEvent.Severity >= ExclusiveFrom && diagnosticEvent.Severity <= ExclusiveTo;
                }
                else if (ExclusiveFrom != null)
                {
                    meetsCriteria = diagnosticEvent.Severity > ExclusiveFrom;
                }
                else if (ExclusiveFrom != null)
                {
                    meetsCriteria = diagnosticEvent.Severity < ExclusiveTo;
                }
            }

            if (Mode == FilterMode.Include)
                return meetsCriteria;
            else
                return !meetsCriteria;
        }
        public override bool Evaluate(IDiagnosticEvent diagnosticEvent, ILoggerName loggerName)
        {
            bool meetsCriteria = false;

            var propertyValue = (object) null;

            if (!diagnosticEvent.Properties.TryGetValue(Property, out propertyValue))
            {
                InternalTrace.Warning(() =>
                    "Diagnostic Property '{0}' not found on Diagnostic Event."
                    .FormatWith(Property));

                meetsCriteria = false;
            }
            else
            {
                meetsCriteria = Evaluator.Value.MatchesPattern(propertyValue.ToString());
            }

            if (Mode == FilterMode.Include)
                return meetsCriteria;
            else
                return !meetsCriteria;
        }
        public override bool Evaluate(DiagnosticEvent diagnosticEvent, ILoggerName loggerName)
        {
            bool meetsCriteria = false;

            DiagnosticEventProperty property = new DiagnosticEventProperty();

            if (!diagnosticEvent.Properties.TryGetProperty(Property, out property))
            {
                Diag.Log.Warning(() =>
                    "Diagnostic Property '{0}' not found on Diagnostic Event."
                    .FormatWith(Property));

                meetsCriteria = false;
            }
            else
            {
                meetsCriteria = Evaluator.Value.MatchesPattern(property.Value.ToString());
            }

            if (Mode == FilterMode.Include)
                return meetsCriteria;
            else
                return !meetsCriteria;
        }
        /// <summary>
        /// Checks if specified Diagnostic Event meets filtering criteria.
        /// </summary>
        /// <param name="de"></param>
        /// <param name="loggerName"></param>
        /// <param name="filters"></param>
        /// <returns></returns>
        internal bool MeetsFiltersCriteria(IDiagnosticEvent de, ILoggerName loggerName, IFilterCollection filters)
        {
            //# check this loger's filters
            for (int i = 0; i < filters.Count; i++)
            {
                var filter = filters[i];

                bool shouldLog = filter.Evaluate(de, loggerName);

                if (!shouldLog)
                    return false;
            }

            var parentLogger = Parent as DiagnosticLogger;

            if (parentLogger != null)
                return parentLogger.MeetsFiltersCriteria(de, loggerName, filters);

            return true;
        }
        public bool MeetsFiltersCriteria(DiagnosticEvent diagnosticEvent, ILoggerName loggerName, DiagnosticsConfiguration config)
        {
            //# check this loger's filters
            for (int i = 0; i < config.GlobalFilters.Count; i++)
            {
                var filter = config.GlobalFilters[i];

                bool shouldLog = filter.Evaluate(diagnosticEvent, loggerName);

                if (!shouldLog)
                    return false;
            }

            //# check parent loger's filter
            if (Parent != null)
                return Parent.MeetsFiltersCriteria(diagnosticEvent, loggerName, config);

            return true;
        }
Example #7
0
 public abstract bool Evaluate(IDiagnosticEvent diagnosticEvent, ILoggerName loggerName);
Example #8
0
 public override bool Evaluate(IDiagnosticEvent diagnosticEvent, ILoggerName loggerName)
 {
     return true;
 }
 public override bool Evaluate(DiagnosticEvent diagnosticEvent, ILoggerName loggerName)
 {
     return ActualFilter.Value.Evaluate(diagnosticEvent, loggerName);
 }
 public override bool Evaluate(IDiagnosticEvent diagnosticEvent, ILoggerName loggerName)
 {
     return EvaluateInternal(diagnosticEvent.Severity);
 }