public string GenerateQueryString()
        {
            var filters = new List <string>();

            if (LogLevels != null && LogLevels.Any())
            {
                var levelsString = String.Join(" OR ", LogLevels.Select(x => string.Format("{0}:{1}", LuceneLoggerBackend.TypeFiledName, x)));
                filters.Add(levelsString);
            }

            if (Sources != null && Sources.Any())
            {
                var sourcesString = String.Join(" OR ", Sources.Select(x => string.Format("{0}:{1}", LuceneLoggerBackend.SourceFieldName, x)));
                filters.Add(sourcesString);
            }

            if (!string.IsNullOrEmpty(CustomFilter))
            {
                filters.Add(CustomFilter);
            }

            return(string.Join(" AND ", filters.Select(x => string.Format("({0})", x))));
        }
 public bool IsValid()
 {
     return(Loggers != null && Loggers.Any() && LogLevels != null && LogLevels.Any());
 }