Esempio n. 1
0
        private static bool IsValidProperty(PropertyInfo prop, IElasticAppenderFilter filter)
        {
            var validation = prop.GetCustomAttributes(typeof(IPropertyValidationAttribute), true).FirstOrDefault() as IPropertyValidationAttribute;

            if (validation == null)
            {
                return(true);
            }

            return(validation.IsValid(prop.GetValue(filter, null)));
        }
Esempio n. 2
0
        public static void ValidateFilterProperties(IElasticAppenderFilter filter)
        {
            var invalidProperties =
                filter.GetType().GetProperties()
                .Where(prop => !IsValidProperty(prop, filter))
                .Select(p => p.Name).ToList();

            if (invalidProperties.Any())
            {
                var properties = string.Join(",", invalidProperties.ToArray());
                throw new InvalidFilterConfigurationException(
                          string.Format("The properties ({0}) of {1} are invalid.", properties, filter.GetType().Name));
            }
        }
Esempio n. 3
0
 public static void ApplyFilter(this Dictionary <string, object> loggingEvent, IElasticAppenderFilter filter)
 {
     filter.PrepareEvent(loggingEvent);
 }
Esempio n. 4
0
 public void AddFilter(IElasticAppenderFilter filter)
 {
     _filters.Add(filter);
 }