You shouldn't say don't use SQL*Plus.
I'm using that thing for years and once you know to handle it, it's ok for a lot of tasks.
And maybe the logfile was created by sqlloader which is very efficient for large amounts of data.
Unfortunately, there are errors that SQL*Plus will return a zero no matter what you do. Then, your script that is running SQL*Plus needs to handle them. So, yes, it can be done; however, in most cases, it is a kluge to avoid writting a program that can do the same work, but only better.