import re
text = """2018-01-09 04:50:25,226 [18] INFO messages starts here line1
line2 above error continued in next line
2018-01-09 04:50:29,226 [18] ERROR messages starts here line1
line2 above error continued in next line
2018-01-09 05:50:29,226 [18] ERROR messages starts here line1
line2 above error continued in next line"""
matches = re .findall ( r'(\d {4}(?:-\d {2}){2}\s \d {2}(?::\d {2}){2})(,\d +[^\] ]+\] )\s (INFO|ERROR)\s ([\S \s ]+?)(?=\r ?\n \d {4}(?:-\d {2}){2}|$)' , text)
print ( matches)
aW1wb3J0IHJlCgp0ZXh0ID0gIiIiMjAxOC0wMS0wOSAwNDo1MDoyNSwyMjYgWzE4XSBJTkZPIG1lc3NhZ2VzIHN0YXJ0cyBoZXJlIGxpbmUxCmxpbmUyIGFib3ZlIGVycm9yIGNvbnRpbnVlZCBpbiBuZXh0IGxpbmUKMjAxOC0wMS0wOSAwNDo1MDoyOSwyMjYgWzE4XSBFUlJPUiBtZXNzYWdlcyBzdGFydHMgaGVyZSBsaW5lMQpsaW5lMiBhYm92ZSBlcnJvciBjb250aW51ZWQgaW4gbmV4dCBsaW5lCjIwMTgtMDEtMDkgMDU6NTA6MjksMjI2IFsxOF0gRVJST1IgbWVzc2FnZXMgc3RhcnRzIGhlcmUgbGluZTEKbGluZTIgYWJvdmUgZXJyb3IgY29udGludWVkIGluIG5leHQgbGluZSIiIgoKbWF0Y2hlcyA9IHJlLmZpbmRhbGwocicoXGR7NH0oPzotXGR7Mn0pezJ9XHNcZHsyfSg/OjpcZHsyfSl7Mn0pKCxcZCtbXlxdXStcXSlccyhJTkZPfEVSUk9SKVxzKFtcU1xzXSs/KSg/PVxyP1xuXGR7NH0oPzotXGR7Mn0pezJ9fCQpJywgdGV4dCkKCnByaW50KG1hdGNoZXMp
stdout
[('2018-01-09 04:50:25', ',226 [18]', 'INFO', 'messages starts here line1\nline2 above error continued in next line'), ('2018-01-09 04:50:29', ',226 [18]', 'ERROR', 'messages starts here line1\nline2 above error continued in next line'), ('2018-01-09 05:50:29', ',226 [18]', 'ERROR', 'messages starts here line1\nline2 above error continued in next line')]