I'm not sure if this is what you want, but you may try:
tac logfile.log | while read line; do echo ${line};
[[ "${line}" =~ [0-9]{4}(-[0-9]{2}){2}\ [0-9]{2}(:[0-9]{2}){2} ]] && break;
done | tac
This snippet reads the file "logfile.log" backwards, an print each line, until a timestamp -- with the format you gave -- is found. Since the lines have been printed backwards, another call for tac
reorders the output.