Description
As follow up on SOLR-3367, we should try to handle all "type" of Exceptions - the good ones as well as the bad ones:
throw new RuntimeException( "error "+cause );
{ time: "2012-05-16T13:26:10.722Z", level: "SEVERE", logger: "org.apache.solr.core.SolrCore", message: "org.apache.solr.common.SolrException: Can not find: schema.not [/opt/solr-trunk/solr/example/solr/./conf/schema.not] at org.apache.solr.handler.admin.ShowFileRequestHandler.showFromFileSystem(ShowFileRequestHandler.java:229) at org.apache.solr.handler.admin.ShowFileRequestHandler.handleRequestBody(ShowFileRequestHandler.java:122) ..." }
and
throw new RuntimeException( "error message", cause );
{ time: "2012-05-16T13:25:03.679Z", level: "SEVERE", logger: "org.apache.solr.handler.admin.LoggingHandler", message: "error (with exception)", trace: "java.lang.RuntimeException: test at org.apache.solr.handler.admin.LoggingHandler.handleRequestBody(LoggingHandler.java:75) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) ..." }
First Idea would be, to check for an existing trace-Index .. if the record has none, we expect the whole Output to be stored in message - so we split on the first Line-break, take the former part as new message and use the latter as trace.
If that will not work (at least for specific cases) and you already know about .. please speak up