[
https://issues.apache.org/jira/browse/CXF-8365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17229033#comment-17229033 ]
Lars Uffmann commented on CXF-8365:
-----------------------------------
Hi Freeman,
yes, overriding org.apache.cxf.ext.logging.LoggingInInterceptor but might be the only way to workaround these issue in the short term.
I opened a Bug since we (and others) might as well have created two instances of LoggingInInterceptor, which is the actual intent of the override:
{code:java}
LoggingInInterceptor first = new LoggingInInterceptor(new Slf4jVerboseEventSender());
LoggingInInterceptor second = new LoggingInInterceptor(new MyCustomLogEventSender());
endpoint.getInInterceptors().add(first);
endpoint.getInInterceptors().add(second);
...{code}
The change in 8257 is quite subtle and might go unnoticed for a long time. I think It would be better to revert the change made and restore the original behaviour. Or refine the key LOGGIN_EVENT_PROP to be unique per instance of LoggingInInterceptor. What do you think?
Best Regards,
Lars
> LoggingInInterceptor could not be extended / logs only once
> -----------------------------------------------------------
>
> Key: CXF-8365
> URL:
https://issues.apache.org/jira/browse/CXF-8365> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime, logging
> Affects Versions: 3.4.0
> Reporter: Lars Uffmann
> Assignee: Freeman Yue Fang
> Priority: Major
>
> Coming with CXF-8257 {{org.apache.cxf.ext.logging.LoggingInInterceptor}} will log a given message only once:
> {code:java}
> public void handleMessage(Message message) throws Fault {
> if (isLoggingDisabledNow(message)) {
> return;
> } else {
> //ensure only logging once for a certain message
> //this can prevent message logging again when fault
> //happen after PRE_INVOKE phase(rewind calls into LoggingInFaultInterceptor)
> message.put(LIVE_LOGGING_PROP, Boolean.FALSE);
> }
> {code}
> Filtering is done per message, not per Interceptor instance. We use a custom {{MyLoggingInInterceptor}} which subclasses the {{LoggingInInterceptor}}. (We Subclass in order to use different {{LogEventSender).}} So two distinct interceptor instances are applied to the Endpoint/Bus/Client but the message is logged only in the first invocation.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)