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);