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))); }
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)); } }
public static void ApplyFilter(this Dictionary <string, object> loggingEvent, IElasticAppenderFilter filter) { filter.PrepareEvent(loggingEvent); }
public void AddFilter(IElasticAppenderFilter filter) { _filters.Add(filter); }