Added new syntax for handling multiple filters of the same type.
This commit is contained in:
@@ -144,7 +144,7 @@ namespace TimberWinR.Inputs
|
||||
var qcount = string.Format("SELECT max(Index) as MaxRecordNumber FROM {0}", logName);
|
||||
var rcount = oLogQuery.Execute(qcount, iFmt);
|
||||
var qr = rcount.getRecord();
|
||||
var lrn = (Int64) qr.getValueEx("MaxRecordNumber");
|
||||
var lrn = (Int64) qr.getValueEx("MaxRecordNumber");
|
||||
if (logHasRolled)
|
||||
{
|
||||
LogManager.GetCurrentClassLogger().Info("Log {0} has rolled", logName);
|
||||
@@ -217,7 +217,14 @@ namespace TimberWinR.Inputs
|
||||
GC.Collect();
|
||||
}
|
||||
}
|
||||
|
||||
catch(FileNotFoundException fnfex)
|
||||
{
|
||||
LogManager.GetCurrentClassLogger().Warn(fnfex.Message);
|
||||
}
|
||||
catch(OperationCanceledException oce)
|
||||
{
|
||||
break;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogManager.GetCurrentClassLogger().Error(ex);
|
||||
|
||||
@@ -817,7 +817,6 @@ namespace TimberWinR.Parser
|
||||
|
||||
if (AddField != null && AddField.Length % 2 != 0)
|
||||
throw new JsonAddFieldException();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -835,9 +834,24 @@ namespace TimberWinR.Parser
|
||||
|
||||
[JsonProperty("json")]
|
||||
public Json Json { get; set; }
|
||||
|
||||
|
||||
[JsonProperty("geoip")]
|
||||
public GeoIP GeoIP { get; set; }
|
||||
|
||||
[JsonProperty("grokFilters")]
|
||||
public Grok[] Groks { get; set; }
|
||||
|
||||
[JsonProperty("mutateFilters")]
|
||||
public Mutate[] Mutates { get; set; }
|
||||
|
||||
[JsonProperty("dateFilters")]
|
||||
public DateFilter[] Dates { get; set; }
|
||||
|
||||
[JsonProperty("jsonFilters")]
|
||||
public Json[] Jsons { get; set; }
|
||||
|
||||
[JsonProperty("geoipFilters")]
|
||||
public GeoIP[] GeoIPs { get; set; }
|
||||
}
|
||||
|
||||
public class TimberWinR
|
||||
@@ -854,8 +868,14 @@ namespace TimberWinR.Parser
|
||||
get
|
||||
{
|
||||
var list = new List<LogstashFilter>();
|
||||
|
||||
foreach (var filter in Filters)
|
||||
{
|
||||
//if (filter is Json[])
|
||||
//{
|
||||
// Json[] ja = filter as Json[];
|
||||
// list.AddRange(ja);
|
||||
//}
|
||||
foreach (var prop in filter.GetType().GetProperties())
|
||||
{
|
||||
object typedFilter = filter.GetType().GetProperty(prop.Name).GetValue(filter, null);
|
||||
@@ -863,6 +883,11 @@ namespace TimberWinR.Parser
|
||||
{
|
||||
list.Add(typedFilter as LogstashFilter);
|
||||
}
|
||||
else if (typedFilter != null && typedFilter.GetType().IsArray && typeof(LogstashFilter).IsAssignableFrom(typedFilter.GetType().GetElementType()))
|
||||
{
|
||||
IEnumerable<LogstashFilter> lf = typedFilter as IEnumerable<LogstashFilter>;
|
||||
list.AddRange(lf);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list.ToArray();
|
||||
|
||||
Reference in New Issue
Block a user