It took a little while to come up with the right approach but in the end I had some grep statements that did the trick. Thinking that this will come up again, I packaged them into a little shell script to do the dirty work for me next time:
# simple script for gathering up errors in log files
if [ -z "$1" ]
echo "Usage: '$0' [directory]"
string3="command timed out"
echo "Looking for UNEXPECTED, ERROR and command time outs..."
for file in *-log* # traverse all log files in $DIRNAME
grep -Hn "$string1" $file >> $OUTPUT_FILE
grep -Hn "$string2" $file >> $OUTPUT_FILE
grep -Hn "$string3" $file >> $OUTPUT_FILE
# these two searches include 5 lines of context
echo "Looking for Check and Browser Fails...."
grep -HnC 5 $string4 *-log-check* >> $OUTPUT_FILE
grep -HnC 5 $string4 *-log-browser* >> $OUTPUT_FILE
sort -n $OUTPUT_FILE | sed /--/d > "$OUTPUT_FILE.sorted"
echo "Search complete."
Thanks to dchen and humph for helping with the finer points of writing shell scripts.