I want to match one pattern multiple times in a logevent

This is my sample log..
Jan 16, 2019 2:12:00 PM com.InfoProviderImpl calculateTotalExposureTime
SEVERE: AOMFrameworkException occured while Executing srl: Group children ClusterNode size is 0 and index is 0
com.aomframework.data.revodata.ifc.AOMFrameworkException: Group children ClusterNode size is 0 and index is 0
at com.verifyTrue(RequestExtUtils.java:396)
at com.getRxDataChildValue(RequestExtUtils.java:500)
at com.getRxDataChildDoubleValue(RequestExtUtils.java:522)
at com.execute(HelicalOffsetUtil.java:103)
at com.calculateTotalExposureTime(InfoProviderImpl.java:166)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Jan 16, 2019 2:12:00 PM open.comm.IpcChannel connect

i want to grep all java file names like that "RequestExtUtils.java:396", "RequestExtUtils.java:522" ....
but my grok filter grepping only first match after that its stopped.

grok-pattern:
EXCEPTIONDETAILS (\w*.java:\d*)

configuration:
grok {
patterns_dir => "../data/patterns"
match => { "data" => "%{EXCEPTIONDETAILS:Exception_Details}"}
}

I hope somebody can help me.

Thanks.

ruby { code => 'event.set("matches", event.get("message").scan( /\((\w+\.\w+:\d+)\)/ ).flatten)' }

will get you

   "matches" => [
    [0] "RequestExtUtils.java:396",
    [1] "RequestExtUtils.java:500",
    [2] "RequestExtUtils.java:522",
    [3] "HelicalOffsetUtil.java:103",
    [4] "InfoProviderImpl.java:166"
]
2 Likes

Thanks, @Badger for your reply.. now its working as what i am exactly expecting.

I tried one more option that too working....
ruby {
code => "
saveid = event.get('data').scan(/\w+.java:\d+/)
event.set('Exception_Details',saveid)
"
}

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.