Maybe you can use the ruby filter to do that.
Should be something like this
filter {
ruby {
code => "
event.set('ID', event.get('message')[0..11])
event.set('date', event.get('message')[12..17])
"
}
}
This way a field called ID will receive the substring for 0 to 11 from the source field message, which countains your log line, the same for the field date.
I was not able to test this yet, but in theory this should work.
You can read more of the ruby filter here