My error was in the LINE_BREAKER. I had inadvertently escaped some [ characters with \ when I really wanted them to serve as alternate character specifications. So the bad version was:
LINE_BREAKER = ([\r\n]+)([?\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\,\d{3}]?\s|\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s|#{0,4}<\w{3}\s\d{1,2}\,\s\d{4}\s\d{1,2}:\d{2}:\d{2}\s[AP]M\s\w{3,}>\s|\w{3}\s\d{1,2}\,\s\d{4}\s\d{1,2}:\d{2}:\d{2}\s[AP]M\s|\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[DEBUG]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[INFO]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[ERROR]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[WARN]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s)
The corrected version is:
LINE_BREAKER = ([\r\n]+)([?\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\,\d{3}]?\s|\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s|#{0,4}<\w{3}\s\d{1,2}\,\s\d{4}\s\d{1,2}:\d{2}:\d{2}\s[AP]M\s\w{3,}>\s|\w{3}\s\d{1,2}\,\s\d{4}\s\d{1,2}:\d{2}:\d{2}\s[AP]M\s|\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[DEBUG]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[INFO]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[ERROR]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s|[WARN]\s\d{8}\s\d{2}:\d{2}:\d{2}[.,]\d{3}\s)
This regex is necessarily complex due to the variety of date/time formats I found were present in my weblogic_stdout events.
... View more