|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.flume.interceptor.RegexExtractorInterceptor
public class RegexExtractorInterceptor
Interceptor that extracts matches using a specified regular expression and appends the matches to the event headers using the specified serializers
Note that all regular expression matching occurs through Java's built in java.util.regex package. Properties:regex: The regex to use
serializers: Specifies the group the serializer will be applied to, and the
name of the header that will be added. If no serializer is specified for a
group the default RegexExtractorInterceptorPassThroughSerializer will
be used
Sample config:
agent.sources.r1.channels = c1
agent.sources.r1.type = SEQ
agent.sources.r1.interceptors = i1
agent.sources.r1.interceptors.i1.type = REGEX_EXTRACTOR
agent.sources.r1.interceptors.i1.regex = (WARNING)|(ERROR)|(FATAL)
agent.sources.r1.interceptors.i1.serializers = s1 s2 agent.sources.r1.interceptors.i1.serializers.s1.type = com.blah.SomeSerializer agent.sources.r1.interceptors.i1.serializers.s1.name = warning agent.sources.r1.interceptors.i1.serializers.s2.type = org.apache.flume.interceptor.RegexExtractorInterceptorTimestampSerializer agent.sources.r1.interceptors.i1.serializers.s2.name = error agent.sources.r1.interceptors.i1.serializers.s2.dateFormat = yyyy-MM-dd
Example 1: EventBody: 1:2:3.4foobar5 Configuration: agent.sources.r1.interceptors.i1.regex = (\\d):(\\d):(\\d) agent.sources.r1.interceptors.i1.serializers = s1 s2 s3 agent.sources.r1.interceptors.i1.serializers.s1.name = one agent.sources.r1.interceptors.i1.serializers.s2.name = two agent.sources.r1.interceptors.i1.serializers.s3.name = three results in an event with the the following body: 1:2:3.4foobar5 headers: one=>1, two=>2, three=3 Example 2: EventBody: 1:2:3.4foobar5 Configuration: agent.sources.r1.interceptors.i1.regex = (\\d):(\\d):(\\d)agent.sources.r1.interceptors.i1.serializers = s1 s2 agent.sources.r1.interceptors.i1.serializers.s1.name = one agent.sources.r1.interceptors.i1.serializers.s2.name = two
results in an event with the the following body: 1:2:3.4foobar5 headers: one=>1, two=>2
| Nested Class Summary | |
|---|---|
static class |
RegexExtractorInterceptor.Builder
|
| Method Summary | |
|---|---|
void |
close()
Perform any closing / shutdown needed by the Interceptor. |
void |
initialize()
Any initialization / startup needed by the Interceptor. |
Event |
intercept(Event event)
Interception of a single Event. |
List<Event> |
intercept(List<Event> events)
Interception of a batch of events. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public void initialize()
Interceptor
initialize in interface Interceptorpublic void close()
Interceptor
close in interface Interceptorpublic Event intercept(Event event)
InterceptorEvent.
intercept in interface Interceptorevent - Event to be intercepted
null if the Event
is to be dropped (i.e. filtered out).public List<Event> intercept(List<Event> events)
Interceptor
intercept in interface Interceptorevents - Input list of events
null. If all events are dropped,
then an empty List is returned.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||