[ https://issues.apache.org/jira/browse/CXF-9049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17899417#comment-17899417 ]
Kai Zander commented on CXF-9049: --------------------------------- [~reta] Thanks for the offer, but I don't think I would be able to properly implement this myself without a considerable time investment. The code snippet I provided in the description should be considered pseudo-code. > JAXRSUtils: Logging Improvements > -------------------------------- > > Key: CXF-9049 > URL: https://issues.apache.org/jira/browse/CXF-9049 > Project: CXF > Issue Type: Wish > Components: JAX-RS > Affects Versions: 4.0.5 > Reporter: Kai Zander > Priority: Minor > > Currently, during a write error _of any kind_, {{JAXRSUtils}} logs ERRORs > like this: > {code:none} > JAXRSUtils - Problem with writing the data, class com.acme.MyResponseType, > ContentType: application/json > {code} > We have the following issues with this: > # Because there's no stack trace, this error doesn't help us in identifying > what went wrong. > # The log level is always ERROR, even for errors that aren't actionable, like > when the client aborts the request before the server could send the response. > This issue is related to CXF-7389, with the distinction of that issue being > about log levels for API responses with HTTP error status codes. But here, > I'd like to request a similar improvement but for response handling errors. > This could allow us to maybe configure a property > {{IOException.class.getName() + ".log.level"}} to reduce the log level for > exceptions of our choosing. > The logic that checks for these properties should then have to consider the > type hierarchy to properly deal with subclasses of {{IOException}}, something > like this snippet: > {code:java} > Level determineLogLevel(Exception ex, Message m) { > Class<?> exType = ex.getClass(); > do { > String key = exType.getName() + ".log.level"; > if (m.containsKey(key)) { > return Level.parseLevel(m.get(key).toString()); > } > exType = exType.getSuperClass(); > } while (exType != Object.class); > return someDefaultLevelPossiblyError; > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)