package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(?'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'.*)`)
var 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.
`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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 Golang, please visit: https://golang.org/pkg/regexp/