Here is a quick-and-dirty grep expression... if you are using a logger such as log4j than the first line of the exception will generally contain WARN or ERROR, the next line will contain the Exception name, and optionally a message, and then the subsequent stack trace will begin with one of the following:
"\tat" (tab + at)
"Caused by: "
"\t... more" (these are the lines that indicate the number of frames in the stack not shown in a "Caused by" exception)
- An Exception name (and perhaps message) before the stack
We want to get all of the above lines, so the grep expression is:
grep -P "(WARN|ERROR|^\tat |Exception|^Caused by: |\t... \d+ more)"
It assumes an Exception class always contains the word Exception which may or may not be true, but this is quick-and-dirty after all.
Adjust as necessary for your specific case.