You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wink.apache.org by "Nadav Fischer (JIRA)" <ji...@apache.org> on 2009/07/07 09:08:14 UTC

[jira] Created: (WINK-52) Do not report every WebApplicationException to the log as an error

Do not report every WebApplicationException to the log as an error
------------------------------------------------------------------

                 Key: WINK-52
                 URL: https://issues.apache.org/jira/browse/WINK-52
             Project: Wink
          Issue Type: Improvement
          Components: Server
    Affects Versions: 0.1
            Reporter: Nadav Fischer
            Assignee: Nadav Fischer
             Fix For: 0.1


If when handling a request a WebApplicationException is thrown, the exception is always printed to the log as an error even though it is may not be a real error such as a client error, and it can cause the log to fill up unnecessarily.

For example:

Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.registry.ResourceRegistry filterDispatchMethods
INFO: Could not find any method supporting consumed media type.
Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.RequestProcessor handleRequestWithoutFaultBarrier
SEVERE: WebApplicationException (415) occured during the handlers chain invocation
Throwable occurred: javax.ws.rs.WebApplicationException
at org.apache.wink.server.internal.registry.ResourceRegistry.filterDispatchMethods(ResourceRegistry.java:385)
at org.apache.wink.server.internal.registry.ResourceRegistry.findMethod(ResourceRegistry.java:284)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:119)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:60)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:87)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:48)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
at org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:44)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:35)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:44)
at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:127)
at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.apache.wink.test.mock.MockServletInvocationTest.invoke(MockServletInvocationTest.java:230)
at org.apache.wink.server.SubResourceTest.testGetNoParams(SubResourceTest.java:222)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

I suggest that if a WebApplicationException is thrown, then print it to the log as an ERROR only if it is a 500 family status error, and for other status codes, print it to the log as an INFO message.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (WINK-52) Do not report every WebApplicationException to the log as an error

Posted by "Nadav Fischer (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WINK-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nadav Fischer resolved WINK-52.
-------------------------------

    Resolution: Fixed

I'm resolving this issue to print a WebApplicationException to the log as an ERROR only if it is a 500 family status error, and for other status codes, print it to the log as an INFO message.

This issue is also related to WINK-11 in regard to the level of the message (INFO or other).

If INFO is not the error level that we want for this case and for WINK-11 then let's create a new issue to decide it.

> Do not report every WebApplicationException to the log as an error
> ------------------------------------------------------------------
>
>                 Key: WINK-52
>                 URL: https://issues.apache.org/jira/browse/WINK-52
>             Project: Wink
>          Issue Type: Improvement
>          Components: Server
>    Affects Versions: 0.1
>            Reporter: Nadav Fischer
>            Assignee: Nadav Fischer
>             Fix For: 0.1
>
>
> If when handling a request a WebApplicationException is thrown, the exception is always printed to the log as an error even though it is may not be a real error such as a client error, and it can cause the log to fill up unnecessarily.
> For example:
> Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.registry.ResourceRegistry filterDispatchMethods
> INFO: Could not find any method supporting consumed media type.
> Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.RequestProcessor handleRequestWithoutFaultBarrier
> SEVERE: WebApplicationException (415) occured during the handlers chain invocation
> Throwable occurred: javax.ws.rs.WebApplicationException
> at org.apache.wink.server.internal.registry.ResourceRegistry.filterDispatchMethods(ResourceRegistry.java:385)
> at org.apache.wink.server.internal.registry.ResourceRegistry.findMethod(ResourceRegistry.java:284)
> at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:119)
> at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:60)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:87)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:48)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:44)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:35)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:44)
> at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:127)
> at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:108)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:599)
> at org.apache.wink.test.mock.MockServletInvocationTest.invoke(MockServletInvocationTest.java:230)
> at org.apache.wink.server.SubResourceTest.testGetNoParams(SubResourceTest.java:222)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:599)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:232)
> at junit.framework.TestSuite.run(TestSuite.java:227)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> I suggest that if a WebApplicationException is thrown, then print it to the log as an ERROR only if it is a 500 family status error, and for other status codes, print it to the log as an INFO message.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (WINK-52) Do not report every WebApplicationException to the log as an error

Posted by "Nadav Fischer (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WINK-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nadav Fischer closed WINK-52.
-----------------------------


> Do not report every WebApplicationException to the log as an error
> ------------------------------------------------------------------
>
>                 Key: WINK-52
>                 URL: https://issues.apache.org/jira/browse/WINK-52
>             Project: Wink
>          Issue Type: Improvement
>          Components: Server
>    Affects Versions: 0.1
>            Reporter: Nadav Fischer
>            Assignee: Nadav Fischer
>             Fix For: 0.1
>
>
> If when handling a request a WebApplicationException is thrown, the exception is always printed to the log as an error even though it is may not be a real error such as a client error, and it can cause the log to fill up unnecessarily.
> For example:
> Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.registry.ResourceRegistry filterDispatchMethods
> INFO: Could not find any method supporting consumed media type.
> Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.RequestProcessor handleRequestWithoutFaultBarrier
> SEVERE: WebApplicationException (415) occured during the handlers chain invocation
> Throwable occurred: javax.ws.rs.WebApplicationException
> at org.apache.wink.server.internal.registry.ResourceRegistry.filterDispatchMethods(ResourceRegistry.java:385)
> at org.apache.wink.server.internal.registry.ResourceRegistry.findMethod(ResourceRegistry.java:284)
> at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:119)
> at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:60)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:87)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:48)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:44)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:35)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
> at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
> at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
> at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:44)
> at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:127)
> at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:108)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:599)
> at org.apache.wink.test.mock.MockServletInvocationTest.invoke(MockServletInvocationTest.java:230)
> at org.apache.wink.server.SubResourceTest.testGetNoParams(SubResourceTest.java:222)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:599)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:232)
> at junit.framework.TestSuite.run(TestSuite.java:227)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> I suggest that if a WebApplicationException is thrown, then print it to the log as an ERROR only if it is a 500 family status error, and for other status codes, print it to the log as an INFO message.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.