You can define and compose filters to form a log fetching pattern. All the filters are subclasses of FieldFilter. There are two types of filters: those that act directly on log fields, and those that connect other filters.
These are the supported filters in FieldFilter for server logging:
You cannot directly instantiate filters through a new operator. You must acquire them by calling methods of SUPServerLog.
FieldEqualityFilter host_eq = supServerLog.getFieldEqualityFilter( LOG_FIELD.HOST_NAME, "hel-xp"); FieldRangeFilter time_range = supServerLog.getFieldRangeFilter( LOG_FIELD.TIMESTAMP, new Date(0), new Date()); FieldRegexpFilter regexp = supServerLog.getFieldRegexpFilter( LOG_FIELD.THREAD_NAME, "^RMI"); FieldSetFilter domain_set = supServerLog.getFieldSetFilter( LOG_FIELD.DOMAIN_NAME, Arrays.asList(new String[] { "default", "test" })); FieldWildcardFilter user_wild = supServerLog.getFieldWildcardFilter( LOG_FIELD.USER_NAME, "user*"); LogicalNotFilter notFilter = supServerLog.getLogicalNotFilter(host_eq); LogicalOrFilter orFilter = supServerLog.getLogicalOrFilter(Arrays .asList(new FieldFilter[] { time_range, regexp })); LogicalAndFilter andFilter = supServerLog.getLogicalAndFilter(Arrays .asList(new FieldFilter[] { domain_set, user_wild })); FieldFilter filter = supServerLog.getLogicalAndFilter(Arrays .asList(new FieldFilter[] { notFilter, orFilter, andFilter }));