Thanks. I'll try the logging change to see if i can at least narrow it down a bit more.
On Wed, Feb 21, 2018 at 7:49 PM, Konstantin Kolinko <knst.koli...@gmail.com> wrote: > 2018-02-21 22:19 GMT+03:00 Alex O'Ree <alexo...@apache.org>: > > That's the error message. The problem is I have no idea which client it > is > > and what character it is sending that is causing the issue. Thus I would > > like to get the offending header logged in some way. > > The "http-nio-8080-exec-3" in the message is the thread name. It can > be written to the Access Log with "%I" > > http://tomcat.apache.org/tomcat-8.5-doc/config/valve.html#Access_Logging > > Also look for response status in an access log. I think those requests > are handled with status "400". > > You will see an IP address there. You wont't see any headers (such as > User-Agent) as those have not been parsed yet. > > > On Tue, Feb 20, 2018 at 4:25 PM, Coty Sutherland <csuth...@apache.org> > > wrote: > > > >> On Tue, Feb 20, 2018 at 4:01 PM, Alex O'Ree <alexo...@apache.org> > wrote: > >> > I keep running into the an IllegalArgumentException at or near > startup of > >> > tomcat 8.5 with a bunch of cxf web services deployed and I have no > idea > >> > what's causing it. The error message mentions turning on logging at > the > >> > debug level. > >> > >> Random shot in the dark given the minimal date provided :) Does it > >> look like this: > >> > >> INFO [http-nio-8080-exec-3] > >> org.apache.coyote.http11.Http11Processor.service Error parsing HTTP > >> request header > >> Note: further occurrences of HTTP request parsing errors will be > >> logged at DEBUG level. > >> java.lang.IllegalArgumentException: Invalid character found in the > >> request target. The valid characters are defined in RFC 7230 and RFC > >> 3986 > >> at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine( > >> Http11InputBuffer.java:460) > >> at org.apache.coyote.http11.Http11Processor.service( > >> Http11Processor.java:291) > >> at org.apache.coyote.AbstractProcessorLight.process( > >> AbstractProcessorLight.java:66) > >> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( > >> AbstractProtocol.java:754) > >> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > >> doRun(NioEndpoint.java:1376) > >> at org.apache.tomcat.util.net.SocketProcessorBase.run( > >> SocketProcessorBase.java:49) > >> at java.util.concurrent.ThreadPoolExecutor.runWorker( > >> ThreadPoolExecutor.java:1149) > >> at java.util.concurrent.ThreadPoolExecutor$Worker.run( > >> ThreadPoolExecutor.java:624) > >> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( > >> TaskThread.java:61) > >> at java.lang.Thread.run(Thread.java:748) > >> > >> If so, then your client is sending you requests with unencoded special > >> characters that are now disallowed by Tomcat. > >> > > >> Question: Assuming i need to edit the logging.properties file, which > setting/line do i have to edit to reveal what the root cause is? > > http://tomcat.apache.org/tomcat-8.5-doc/logging.html > and also official Java documentation on java.util.logging. > > From the log message cited by Coty, I think you need to add > org.apache.coyote.http11.Http11Processor.level = FINE > > In short, you need both > 1) <log category aka logger>.level = FINE > 2) <handler>.level = FINE > > "1)" controls whether a log event is raised, > "2)" controls writing it out to a specific output (console, file) > > "2)" is already set in the logging.properties file provided by Tomcat. > > Best regards, > Konstantin Kolinko > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >