Any output produced by a command is sent to the user specified in the
MAILTO environment variable as set in the crontab(5) file or, if no
MAILTO variable is set (or if this is an at(1) or batch(1) job), to the
job's owner. If a command produces no output or if the MAILTO
environment variable is set to the empty string, no mail will be sent.
Since it uses local mail, you really don't need to set up anything, or maybe just install mailx if it's not already here. Cron will send you the output, you can save the mail in a file and do many things from there. Trying to modify the way cron works to directly suit your need is not the way to go. If you don't think so, just patch and re-buil cron, call it my_cron and use it instead of cron. And be prepared to eventually keep your my_cron up to date and re-build it often.
Add this at the beginning of all your scripts to log everything and stop at the first error
exec 2>&1 > /var/log/YOUR_LOG_FILE
set -e