Add user config option to print full stack trace

Description

Right now all service exceptions return full stack traces. This is great for debugging, but not ideal from a user perspective, a bunch of garbage about what went wrong. The geoserver admin should be able to configure whether the exceptions print full stack traces. All errors should also be logged in one place, like Abstract Service, and no other places.

Would also be nice if programming errors printed full stack traces, but I don't think that's really possible any more, as we no longer wrap known errors as quickly.

Environment

None

Activity

Show:
codehaus
April 10, 2015, 4:38 PM

CodeHaus Comment From: jgarnett - Time: Wed, 4 Feb 2004 20:09:39 -0600
---------------------
<p>I have taken all of the LOGGER.LOG( Level.INFO, msg, throwable ) calls and

replaced them with

LOGGER.info( msg+":"+throwable);

LOGGER.log( Level.FINEST, msg, throwable )</p>

<p>This allows the user to control stack traces by using turning on FINEST level of detail.</p>

codehaus
April 10, 2015, 4:38 PM

CodeHaus Comment From: jgarnett - Time: Wed, 4 Feb 2004 20:11:05 -0600
---------------------
<p>Note that logging in one place is not an option, we have a separate Struts based system of Actions to worry about as well.</p>

<p>My recomendation above will work for both.</p>

codehaus
April 10, 2015, 4:38 PM

CodeHaus Comment From: cholmes - Time: Thu, 5 Feb 2004 14:04:30 -0600
---------------------
<p>Sorry, I wasn't too clear on this (since when I was making these early ones I just assumed I would be the one to close them). What I'm talking about here is what the client actually sees in a service exception report returned when geoserver messes up. If GeoServer messes up now, the client app that sent the request gets a service exception with the message being a whole big long stack trace. This is great for us, but from a client perspective is too much information that they don't care about. In a production environment the client should probably recieve just a message - such as "featureType 'lakes' not found". In the admin's logs there should be the full stack trace, so they can just sync up the message sent to the client with the full stack trace of their logs. That way the client doesn't see a bunch of at org.vfny... line 34 on their screen. GeoServer admins should be able to configure this, since developers would very much like to be able to have the instant feedback, but a client out in the world would not. Also, I haven't had the best of luck using the logger to log exceptions - I can't get them to do the full stack trace, it tends to eat the nested exceptions. The code in ServiceException does print everything, so I think that it should do the logging, using its method to print the xml instead of relying on the logger which I can't get to really print everything.</p>

codehaus
April 10, 2015, 4:38 PM

CodeHaus Comment From: cholmes - Time: Tue, 17 Feb 2004 15:20:26 -0600
---------------------
<p>Not in time for 1.2-beta, and we should do feature freeze after. This is pretty minor though.</p>

codehaus
April 10, 2015, 4:38 PM

CodeHaus Comment From: cholmes - Time: Tue, 21 Sep 2004 14:58:18 -0500
---------------------
<p>closed (I think this is a duplicate though...)</p>

Fixed

Assignee

Unassigned

Reporter

codehaus

Triage

None

Fix versions

Affects versions

Components

Priority

Low