You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by "Bieringer, Dominik" <DB...@thegoldensource.com> on 2006/12/12 08:19:33 UTC

StreamingAddResource - How to disable log messages

Hi all,

 

I have a problem regarding log messages of StreamingAddResource class.
Here is an extract of my log:

 

2006-12-12 08:03:56,892 - [ERROR] - StreamingAddResource - Error while
serving resource:
navmenu.jscookmenu.HtmlJSCookMenuRenderer/JSCookMenu.js, message : null

ClientAbortException:  javax.net.ssl.SSLException: Connection has been
shutdown: javax.net.ssl.SSLException: java.net.SocketException: Software
caused connection abort: socket write error

                at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327
)

                at
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293)

                at
org.apache.catalina.connector.Response.flushBuffer(Response.java:537)

                at
org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.
java:276)

                at
org.apache.myfaces.component.html.util.StreamingAddResource.serveResourc
e(StreamingAddResource.java:757)

                at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFil
ter.java:125)

                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)

                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)

                at
com.thegoldensource.updatesite.shared.j2ee.ExceptionLoggingFilter.doFilt
er(ExceptionLoggingFilter.java:49)

                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)

                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)

                at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)

                at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)

                at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:432)

                at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)

                at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)

                at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)

                at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)

                at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86
9)

                at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:664)

                at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)

                at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)

                at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)

                at java.lang.Thread.run(Unknown Source)

 

This exception occurs when a client opens a connection to retrieve a
resource from MyFaces Extension filter and disconnects during receiving
the resource. This exception occurs frequently (About once every few
days). My question is how to disable this log message?

 

I know I can disable error log messages of the class
StreamingAddResource by configuring log4j appropriately, but the problem
is that the exception is rethrown, causing the following follow up
exception, logged by the ExtensionFilter:

 

2006-12-12 08:03:56,908 - [ERROR] - ExtensionsFilter - Exception wile
retrieving addResource

java.lang.IllegalStateException

                at
org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.ja
va:418)

                at
org.apache.myfaces.component.html.util.StreamingAddResource.serveResourc
e(StreamingAddResource.java:780)

                at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFil
ter.java:125)

                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)

                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)

                at
com.thegoldensource.updatesite.shared.j2ee.ExceptionLoggingFilter.doFilt
er(ExceptionLoggingFilter.java:49)

                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)

                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)

                at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)

                at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)

                at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:432)

                at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)

                at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)

                at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)

                at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)

                at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86
9)

                at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:664)

                at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)

                at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)

                at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)

                at java.lang.Thread.run(Unknown Source)

 

As before, I still can disable all ERROR log messages of
ExceptionLoggingFilter, but also here, the exception is rethrown,
causing my own exception log filter to throw the exception again:

 

2006-12-12 08:03:56,939 - [ERROR] - ExceptionLoggingFilter - 

java.lang.IllegalStateException

                at
org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.ja
va:418)

                at
org.apache.myfaces.component.html.util.StreamingAddResource.serveResourc
e(StreamingAddResource.java:780)

                at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFil
ter.java:125)

                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)

                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)

                at
com.thegoldensource.updatesite.shared.j2ee.ExceptionLoggingFilter.doFilt
er(ExceptionLoggingFilter.java:49)

                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)

                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)

                at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)

                at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)

                at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:432)

                at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)

                at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)

                at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)

                at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)

                at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86
9)

                at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:664)

                at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)

                at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)

                at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)

                at java.lang.Thread.run(Unknown Source)

 

I don't know how to disable the log entries:

*	I can disable error log messages for ExtensionsFilter and
StreamingAddResource (But maybe there are real errors, so I will loose
those messages)
*	Illegal state exception is a very common one, so ignoring all of
them in my own ExceptionLoggingFilter is not a good idea either.

 

Any help is appreciated,

Thanks in advance,

Dominik


Re: StreamingAddResource - How to disable log messages

Posted by Mario Ivankovits <ma...@ops.co.at>.
Hi Dominik!

> I don’t know how to disable the log entries:
>
I enhanced StreamingAddResource in this area now, not sure if its the
best of all solutions ....

I've done two things:
* catch any IOException
* catch the IllegalStateException when doing sendError

both log messages are routed to a different log category now

* org.apache.myfaces.component.html.util.StreamingAddResource.SEND

In your log4j configuration you should be able to create a special
configuration (and ignoring its errors) now.


Please give it a try!

Ciao,
Mario