re = /(?'Date'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3})\s*\[(?'Level'ERROR.|WARN|INFO|DEBUG).*\]\s*\[(?'Thread'\d*).*\]\s*(?'Message'.*)/m
str = '2016-09-26 11:42:47,350 [INFO ][40 ] Info, StartAsync endpoint sv.queue://sqlservicebus/costascribe/handlerloghandler/handlerlogsmessage empty...
2016-09-26 11:42:48,411 [INFO ][40 ] Endpoint sv.queue://sqlservicebus/costascribe/handlerloghandler/handlerlogsmessage empty.
2016-09-26 11:42:48,411 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/costascribe/handlerloghandler/handlerlogsmessage...
2016-09-26 11:42:48,411 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/costascribe/handlerloghandler/handlerlogsmessage, sleep until 2016-09-26 10:43:48Z
2016-09-26 11:42:48,411 [INFO ][57 ] Observer Current Message Task...
2016-09-26 11:42:48,411 [INFO ][4 ] Info, StartAsync endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagedetecteddigest empty...
2016-09-26 11:42:48,411 [INFO ][4 ] Endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagedetecteddigest empty.
2016-09-26 11:42:48,411 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagedetecteddigest...
2016-09-26 11:42:48,411 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagedetecteddigest, sleep until 2016-09-26 10:43:48Z
2016-09-26 11:42:48,411 [INFO ][57 ] Observer Current Message Task...
2016-09-26 11:42:51,515 [INFO ][40 ] Info, StartAsync endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagereplayeddigest empty...
2016-09-26 11:42:51,515 [INFO ][40 ] Endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagereplayeddigest empty.
2016-09-26 11:42:51,515 [INFO ][4 ] Info, StartAsync endpoint sv.queue://sqlservicebus/costascribe/int02handler/int02messageprepared empty...
2016-09-26 11:42:51,515 [INFO ][4 ] Endpoint sv.queue://sqlservicebus/costascribe/int02handler/int02messageprepared empty.
2016-09-26 11:42:51,515 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagereplayeddigest...
2016-09-26 11:42:51,515 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/platform/poisonmessagedigesthandler/poisonmessagereplayeddigest, sleep until 2016-09-26 10:43:51Z
2016-09-26 11:42:51,515 [INFO ][57 ] Observer Current Message Task...
2016-09-26 11:42:51,515 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/costascribe/int02handler/int02messageprepared...
2016-09-26 11:42:51,515 [INFO ][57 ] Info, finished processing endpoint sv.queue://sqlservicebus/costascribe/int02handler/int02messageprepared, sleep until 2016-09-26 10:43:01Z
2016-09-26 11:42:51,515 [INFO ][57 ] Observer Current Message Task...
2016-09-26 11:42:55,524 [INFO ][40 ] Info, StartAsync endpoint sv.queue://sqlservicebus/costascribe/int03handler/int03messageprepared empty...
2016-09-26 11:42:55,524 [INFO ][40 ] Endpoint sv.queue://sqlservicebus/costascribe/int03handler/int03messageprepared empty.
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html