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 bucket_eq = supServerLog.getFieldEqualityFilter(
SERVER_LOG_FIELD.BUCKET, "MMS");
FieldSetFilter thread_set = supServerLog.getFieldSetFilter(
SERVER_LOG_FIELD.THREAD_NAME, Arrays.asList(new String[] {
"main", "dispatcher" }));
FieldWildcardFilter logger_wild = supServerLog.getFieldWildcardFilter(
SERVER_LOG_FIELD.LOGGER_NAME, "com.sybase.sup*");
FieldRangeFilter time_range = supServerLog.getFieldRangeFilter(
SERVER_LOG_FIELD.TIMESTAMP, new Date(0), new Date());
FieldRegexpFilter regexp = supServerLog.getFieldRegexpFilter(
SERVER_LOG_FIELD.THREAD_NAME, "^RMI");
LogicalNotFilter notFilter = supServerLog
.getLogicalNotFilter(bucket_eq);
LogicalOrFilter orFilter = supServerLog.getLogicalOrFilter(Arrays
.asList(new FieldFilter[] { time_range, regexp }));
LogicalAndFilter andFilter = supServerLog.getLogicalAndFilter(Arrays
.asList(new FieldFilter[] { thread_set, logger_wild }));
FieldFilter filter = supServerLog.getLogicalAndFilter(Arrays
.asList(new FieldFilter[] { notFilter, orFilter, andFilter }));
supServerLog.setLogFilter(filter);